SpringBoot使用@Async异步调用方法
有时间一些比较耗时的方法需要使用异步调用,之前会自己维护一个线程池,然后异步调用,但是在Spring环境下可以一个@Async轻松搞定。
SpringBoot要使用@Async需要以下两个步骤:
1.使用@EnableAsync开启异步;
2.定义Spring组件,使用@Component和@Async;
示例:
使用@EnableAsync开启异步:
定义Spring组件,使用@Component和@Async:
测试用的Controller:
启动项目,执行结果:
异步方法执行成功,可以看到有个日志打印出来了,这个是Spring打印的日志,因为我们没有指定异步执行的executor,在第一次执行的时候会找不到executor,会返回null,由Spring默认的executor去执行,这个以后有时间再记录。
其实异步注解代理的方法可以有一个返回值Future
还没有评论,来说两句吧...