异步

@Async 注解的。
异步_第1张图片
异步_第2张图片

失效原因:

1.@SpringBootApplication 启动类当中没有添加 @EnableAsync 注解。
2.没有走 Spring 的代理类。因为 @Transactional 和 @Async 注解的实现都是基于 Spring 的 AOP,而 AOP 的实现是基于动态代理模式实现的。那么注解失效的原因就很明显了,有可能因为调用方法的是对象本身而不是代理对象,因为没有经过 Spring 容器管理。
很显然,我这个情况符合第一种情况,没有添加 @EnableAsync 注解。
异步_第3张图片

如果被 @Async 注解修饰的方法,返回值只能是 void 或者 Future。

你可能感兴趣的:(java)