spring boot汇总

原理解析

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

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

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

猜你喜欢

转载自1181731633.iteye.com/blog/2381694
今日推荐