Springboot中执行异步任务,可以使用线程池,也可以直接使用@Async注解来实现异步任务。
使用:
1.首先在启动类上加上 @EnableAsync 注解
2.在需要异步的方法上加上 @Async 注解,表示此方法是一个异步方法
3.可带参数,使用自定义的线程池@Async(“asyncExecutor”)
注意事项(注解不起作用)
1.启动类上要加上@EnableAsync 注解 ,代表开启异步。
2.注解的方法必须是public方法,使用private关键字,一定会失败。
3.异步方法不能使用static修饰
4.没有被spring代理。异步类没有使用@Component注解(或其他注解)导致spring无法扫描到异步类
5.异步方法不能与被调用的异步方法在同一个类中,因为无法产生切面
6.类中需要使用@Autowired或@Resource等注解自动注入,不能自己手动new对象
使用自定义线程池示例
异步方法
@Async("asyncExecutor")
public void