@Async失效
一、异步方法使用static修饰
二、异步类没有使用@Component注解(或其他注解)导致spring无法扫描到异步类
三、异步方法不能与异步方法在同一个类中
四、类中需要使用@Autowired或@Resource等注解自动注入,不能自己手动new对象
五、如果使用SpringBoot框架必须在启动类中增加@EnableAsync注解
六、在Async 方法上标注@Transactional是没用的。 在Async 方法调用的方法上标注@Transactional 有效。
七、调用被@Async标记的方法的调用者不能和被调用的方法在同一类中不然不会起作用!!!!!!!
八、使用@Async时要求是不能有返回值的不然会报错的 因为异步要求是不关心结果的
@Transactional失效场景
一、@Transactional 应用在非 public 修饰的方法上,Transactional将会失效
二、@Transactional 注解属性 propagation 设置错误
三、@Transactional 注解属性 rollbackFor 设置错误
四、同一个类中方法调用,导致@Transactional失效
五、异常被 catch捕获导致@Transactional失效
六、数据库引擎不支持事务