`

spring boot汇总

 
阅读更多

原理解析

1、ApplicationRunner和CommandLineRunner,都是容器启动完成的时候执行,并且都要实现一个run方法。不同的地方是参数不同。

2、@Schedule与@Async区别,个人理解,前者是定时任务,存放在调度线程池中,并定时执行。后者是异步处理,在耗时的方法上加该注解,避免阻塞,由线程调用(非主线程),调用的方法会起一个新线程并放到一个spring自动生成的队列,由它逐个处理,而当前线程不用等待新线程执行完而可以直接执行下一步。另外,在同一个类中的,彼此有调用的两个方法都加@Async,则被调用的那个注解无效,因为和加事务注解一样,被调用方法不再有aop的流程。

 3、使用 spring.profiles.active 及 @profile 注解,可以实现不同环境下(开发、测试、生产)配置参数的切换。

4、使用@Configuration和@Bean做单例。

5、使用WebMvcConfigurer做过滤器。

 

 

待续,一个一个补充。。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics