Spring Boot
文章平均质量分 50
Spring Boot
程序员·小李
不知道要干什么的时候,停一停,想一想;知道想要什么的时候,努努力,拼一拼。
展开
-
Spring boot+Vue全栈开发---Session共享与Nginx负载均衡
Session共享在搭建服务器集群的时候,发来的请求首先经过Nginx分发到不同的服务器节点上,导致不通请求之间的session不能够互通,解决方案如图所示:将session统一存储在session服务器上,可以实现session的共享。配置Session共享1.创建项目,添加session和redis依赖项<!--添加data-redis支持,排除默认的lettu...原创 2019-02-12 14:19:41 · 1454 阅读 · 0 评论 -
Spring boot+Vue全栈开发---跨域问题
简单方法:1.创建项目,添加web依赖2.添加控制器3.添加@CrossOrigin注解value指的是允许的originmaxage限制时间无需探查allowheaders允许的请求头WebMVCConfigurer全局配置重写addcrosMappings方法...原创 2019-02-11 11:57:48 · 310 阅读 · 0 评论 -
Spring boot+Vue全栈开发---整合Servlet、Listener、Filter及静态页面的映射
整合Servlet使用@WebServlet(“/my”)表示拦截的路径继承自HttpServlet重写doGet和doPost方法整合Filter使用@WebFilter注解过滤器重写init,doFilter,destory方法整合Listener继承ServletRequestListener、HttpSessionLi...原创 2019-02-11 14:39:39 · 705 阅读 · 0 评论 -
Spring boot+Vue全栈开发---整合Mybatis进行数据持久化
1. 创建项目,添加mybatis,web,mysql连接,druid数据库连接池依赖2.配置数据库连接信息3. 创建实体类4.创建Mapper层5.创建映射文件Mapper.xmlMapper的xml文件与mapper接口对应6. 创建Service层,调用Mapper接口方法实现数据存储7. 创...原创 2019-04-26 11:19:04 · 731 阅读 · 0 评论 -
Spring boot+Vue全栈开发---Spring Boot返回Json数据
使用默认的MappingJackson2HttpMessageConverter返回json数据1.添加web依赖2.添加一个实体类3.直接返回对象即可注:可以在实体类中使用@JsonIgnore注解忽略字段,使用@JsonFormat(pattern="yyyy-MM-dd")设置格式使用谷歌的Gson返回json数据1.移除默认...原创 2019-02-11 10:17:55 · 1311 阅读 · 0 评论 -
Spring boot+Vue全栈开发---Spring Boot静态资源访问
Spring Boot默认过滤所有的静态资源:classpath:/META-INF/resources/classpath:/resources/classpath:/static/classpath:/public//默认情况下,intellij自动创建static目录,直接将静态资源放置在本目录即可自定义策略1.使用配置文件2.使用J...原创 2019-02-11 10:26:01 · 1744 阅读 · 0 评论 -
Spring boot+Vue全栈开发---Spring Boot入门
Spring boot简介为了解决Spring臃肿的配置问题,Spring boot出现了。可以打包成war包在Tomcat中运行,也可以打包jar包,直接执行java -jarSpring boot的优势快速生产级别的服务监控内嵌服务器纯java配置,减少配置文件创建Maven项目1. 新建Maven项目2. ...原创 2019-02-10 21:37:48 · 1205 阅读 · 0 评论 -
Spring boot+Vue全栈开发---缓存
缓存实际上是对方法的缓存,当开发者调用一个方法时,将参数及返回值缓存起来,再次调用的时候优先从缓存中读取数据,否则再去执行方法。Ehcache缓存 1.创建项目,添加缓存依赖sping-boot-starter-cache及ehcache2.在resource目录下创建ehcache.xml文件,并修改配置3.在启动类上开启缓存@@EnableCaching...原创 2019-02-12 15:00:32 · 1254 阅读 · 1 评论 -
Spring boot+Vue全栈开发---拦截器
plus:可以使用@ImportResource("classpath:bean.xml")来导入xml配置文件。使用拦截器可以实现精准控制页面的逻辑 1.创建项目,添加web依赖 2.添加拦截器,实现HandlerInterceptor接口,重写preHandle,postHandle,afterCompletion方法执行顺序:preHandle-control...原创 2019-02-11 14:16:58 · 1250 阅读 · 0 评论 -
Spring boot+Vue全栈开发---Aop
添加Aop依赖创建Service创建切面连接点:在那个方法处切,就叫连接点切入点 :定义的切入模式,就叫切入点通知:切入后所要做的事就叫通知。包含前置通知、后置通知、最终通知、异常通知、环绕通知切面:切入点及通知总称切面目标:要增强的类。使用@Aspect标致这是一个切面@Pointcut("execution(* org.a...原创 2019-02-12 10:05:42 · 669 阅读 · 0 评论 -
Spring boot+Vue全栈开发---创建定时任务
定时任务在实际开发中是常见的。使用Spring Boot开启定时任务只需两步: 1.在启动类上开启定时任务@EnableScheduling 2.在需要执行的定时任务方法上加入@Scheduled注解cron控制的开始执行的时间及时间间隔,具体可以查看http://cron.qqe2.com/...原创 2019-02-13 15:45:03 · 951 阅读 · 0 评论 -
Spring boot+Vue全栈开发---Spring Boot基础配置
不使用spring-boot-starter-parentspring-boot-starter-parent主动配置了以下信息:默认jdk1.8默认编码utf-8提供dependency management项目依赖管理默认资源过滤及插件配置使用自己的模板:1.添加依赖管理2.配置jdk版本3.配置编码格式@Spring...原创 2019-02-10 22:24:10 · 676 阅读 · 0 评论 -
Spring boot+Vue全栈开发---Spring Boot整合Thymeleaf
Spring Boot整合Thymeleaf(更多资料见https://www.thymeleaf.org)1.创建工程,添加依赖项2.Thymeleaf的默认配置信息及修改默认存储位置:classpath:/templates/默认后缀:html修改配置信息:3.使用Controller返回视图及模型数据4.使用模型及模板...原创 2019-02-11 08:09:24 · 1183 阅读 · 3 评论 -
Spring boot+Vue全栈开发---整合JdbcTemplate多数据源
多数据源:在JavaEE项目中,使用不同数据库实例的多个库,或者同一个数据库实例的不同的库。一般来说MyCat分布式数据库中间件是较好的解决方案,解决读写分离、主从复制等功能。1. 创建项目,添加依赖2. 配置多个数据库连接3. 配置DataSource4. 配置多个JdbcTemplate5.创建Controller测试...原创 2019-04-26 11:47:21 · 367 阅读 · 0 评论 -
Spring boot+Vue全栈开发---整合JdbcTemplate进行数据持久化
1. 创建项目,添加web依赖、jdbc依赖、mysql连接依赖、druid连接池依赖2. 在application.rpoperies中配置数据库连接信息type是数据库连接池的全类名,url是连接字符串,username与password分别是账号与密码3.创建实体类4.创建Repository层需要注入JdbcTemplate对象。...原创 2019-04-22 15:44:46 · 728 阅读 · 0 评论 -
Spring boot+Vue全栈开发---配置错误页面
简单配置错误页面直接返回简单的静态页面在static目录下创建error目录,在该目录下创建不同的html:方法1:创建4xx.html 5xx.html方法2:创建404.html 400.html 500.html两种方法都是可以的,但是第二种划分的更加细致返回模板渲染在template目录下创建error目录,在该目录下创建不同的html方法1:创...原创 2019-02-11 11:41:56 · 852 阅读 · 0 评论 -
Spring boot+Vue全栈开发---Spring Boot文件上传
文件上传涉及到两个组件:CommonsMultipartResolverStandardServletMultipartResolver(默认使用的组件)单文件上传示例:1.添加web依赖,创建一个上传的html文件2.创建控制器接受文件3.文件上传配置多文件上传1.创建文件上传的html2.创建Control...原创 2019-02-11 10:41:32 · 439 阅读 · 0 评论 -
Spring boot+Vue全栈开发---controllerAdvice
ControllerAdvice主要有三种作用:1.全局异常处理@ExceptionHandler2.全局数据处理@ModelAttribute3.数据绑定预处理@InitBinder全局异常处理在方法上使用@ExceptionHandler(Exception.class)标记处理的异常类型,方法参数可以包含异常的实例,HttpServletRespon...原创 2019-02-11 11:07:38 · 336 阅读 · 0 评论 -
Spring boot+Vue全栈开发---启动系统任务
有些工作需要在系统启动的时候就开始,比如配置文件的加载,或者数据库的初始化等等。spring boot提供了CommandLineRunner、ApplicationRunner两个解决方案通过CommandLineRunner配置通过继承CommandLineRunner类并重写Run方法可以实现系统启动时候的任务启动。多个类继承了CommandLineRunner均不影响各自的执行。可...原创 2019-02-11 14:28:25 · 552 阅读 · 0 评论 -
Spring boot+Vue全栈开发---整合Redis
整合Redis Redis是一种典型的键值型数据库,支持字符串,列表,集合,散列等。可以作为缓存使用,也可以作为NoSQL数据库使用,支持快照持久化和AOF持久化,可以搭建集群或主从复制结构,在高并发情形下具备高可用性。 Redis安装 1.下载Redis 2.安装Redis 3.配置Redis 4.配置CentOS,关闭防火墙5...原创 2019-02-12 11:35:56 · 1437 阅读 · 0 评论 -
Spring boot+Vue全栈开发---整合Mybatis多数据源
1.创建项目,添加依赖2. 配置xml多个数据库连接3. 配置DataSource4. 配置SqlSessionFactory5. 创建Mapper接口及xml文件5. 创建Service及Controller层测试(略)...原创 2019-04-26 11:59:03 · 475 阅读 · 0 评论 -
Spring boot+Vue全栈开发---整合MongoDB
安装MongoDB1.下载并解压MongoDB,重命名文件夹2.创建两个文件夹分别保存数据及日志3.创建配置文件完成配置 4.启动MongoDB 5.测试MongoDB,bin下使用mongo进入mongo,执行db.version(),显示版本号后表示成功。 6.退出关闭MongoDB7.安全配置首先创建用户:其次,重启服务,验证身...原创 2019-02-12 11:56:26 · 693 阅读 · 0 评论 -
JMS
搭建JMS环境使用Apache ActiveMQ:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId></dependency>也可以使用Apache ActiveMQ Artemis:<dependency> <groupId&g原创 2021-01-23 18:56:22 · 174 阅读 · 0 评论 -
RabbitMQ
RabbitMQ简介RabbitMQ的实现方式与之不同,采用的是exchange监听多个队列的方式,单个exchange可以操作多个队列。发送端将消息发送到exchange,消费端从队列获取消息。不同类型的exchange:类型特点Default默认情况下,这个exchange会把消息转发到路由一致的队列Direct将消息转发到路由Key和binding Key一致的队列Topic转发到binding Key匹配路由Key的队列Fanout全部转发原创 2021-01-23 18:59:27 · 177 阅读 · 0 评论 -
基于SpringBoot和非SpringBoot方式创建MVC项目
基于SpringBoot1、引入依赖spring-boot-starter-web<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.1.1.RELEASE</version></depende原创 2021-06-28 19:47:58 · 316 阅读 · 0 评论 -
基于Aop实现Rest接口的日志打印
/** * 日志切面 */@Aspect@Component@Slf4jpublic class LogAspect { /** * 控制器方法切点 */ @Pointcut("execution(public * com.dxm.finance.licai.fund.msg.service.controllers.*.*(..))") private void pointcut() {} @Around(value = "pointcu.原创 2021-07-06 15:34:07 · 896 阅读 · 0 评论 -
Lombok的最佳实践
IntelliJ插件在preference-plugin中添加Lombok插件Mvn依赖<!-- lombok --><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId></dependency>getter和setter方法的生成@Data publ原创 2022-03-27 11:20:30 · 3092 阅读 · 0 评论 -
再议事务传播行为
1. Required原来存在事务时,继续沿用事务,所以A和B其实是相同的事务,一旦B发生了异常,若A方法对B方法的调用进行了异常捕获,则可能会抛出异常,因为A和B在相同的事务中,B中发生异常被标记为回滚,现在却想要提交,则抛出异常。3. Nested是新建了一个保存点,开启子事务执行B,当B发生异常,在进行异常捕获后,B的回滚可以不影响A,只会回滚到保存点。异常发生在T2内部,T1和T2属于同一事务,T1捕获了异常打算提交,一个标记回滚,一个标记提交,会抛出异常事务状态不一致。T1正常,T2抛出异常。原创 2022-06-18 20:29:17 · 88 阅读 · 0 评论 -
配置化的“动态代理”
在某些场景下,我们需要使用Aop完成日志打印,鉴权,限流等等操作,但是切面的规则又不想在代码中写死,而是想读取properties配置啊,环境变量啊什么的,这个时候就需要用到我们的动态代理了。原创 2022-10-09 22:03:43 · 600 阅读 · 0 评论 -
RestTemplate的抽象使用
【代码】RestTemplate的抽象使用。原创 2022-10-16 10:56:22 · 114 阅读 · 0 评论 -
spring Boot项目的部署
1. 直接部署java -jar app.jar直接部署时,也可以指定配置java -jar -Dspring.profiles.active=prod app.jar2. 使用Docker部署Docker的安装https://docs.docker.com/ engine/installation/验证安装是否成功sudo docker infoDockerfileDockerfile用于生成Docker镜像,是镜像生成所使用的...原创 2021-07-10 22:34:28 · 236 阅读 · 1 评论 -
LocalDateTime的WebMVC解析
前面说到使用自定义序列化和反序列化器对LocalDateTime进行Json转换,实际上,对@RequestParam方式请求是不管用的。1. 新增转换器public class StringToLocalDateConverter implements Converter<String, LocalDate> { private static final String LOCAL_DATE_PATTERN = "yyyy/MM/dd"; @Override原创 2021-07-13 08:25:48 · 249 阅读 · 0 评论 -
Mybatis逆向工程
【代码】Mybatis逆向工程。原创 2022-10-15 23:55:07 · 94 阅读 · 0 评论 -
LocalDateTime的序列化配置
新型时间类是我们需要不断追赶的Java8潮流,如果不做处理,序列化的结果是这样的:我们统一做一下处理:@Configurationpublic class LocalDateSerializerConfig { private final String PATTERN = "yyyy/MM/dd HH:mm:ss"; @Bean public LocalDateTimeSerializer localDateTimeDeserializer() {原创 2021-07-13 08:02:53 · 2819 阅读 · 0 评论 -
通过Schedule开启定时任务
1. 开启注解@EnableSchedling@SpringBootApplication@EnableSchedulingpublic class Startup { public static void main(String[] args) { SpringApplication.run(Startup.class, args); }}2. 固定速率,按时触发@Scheduled(fixedRate = 1000)public void fi原创 2022-01-22 21:11:43 · 744 阅读 · 0 评论 -
消除业务中的校验代码
Inherited}@Inherited}@Inherited}@Inherited}@Inherited}这里自定义了一些常用的注解,用于常用的参数校验。原创 2022-10-15 23:23:43 · 136 阅读 · 0 评论 -
通过Hystrix熔断降级
当服务性能下降时,避免连累其他服务的可用性,此时可以采用降级策略。1. 引入依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> <version>Edgware.RELEASE</version...原创 2022-01-22 20:51:09 · 388 阅读 · 0 评论 -
logback标准化配置
放置在resources/logback.xml中。原创 2022-10-16 08:30:17 · 290 阅读 · 0 评论 -
Spring Boot 集成logback
1. 依赖引入<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> <relativePath /></parent原创 2021-07-07 10:02:40 · 329 阅读 · 0 评论 -
Spring Boot 集成Actuator
添加依赖<!-- Actuator --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>添加配置management.server.port=8080management.serv原创 2021-07-25 13:15:16 · 256 阅读 · 0 评论