spring aspect中事务失效
时间: 2024-06-12 13:10:21 浏览: 102
在Spring AOP中,如果使用@Aspect注解定义切面,并且在切面中使用@Transactional注解来开启事务,可能会出现事务失效的情况。这是因为@Transactional注解是基于Spring的动态代理实现的,而动态代理只能代理实现了接口的类或者使用CGLIB代理的类。如果被代理的类没有实现接口并且没有使用CGLIB代理,那么@Transactional注解就会失效。
解决这个问题的方法是在配置文件中开启CGLIB代理:
```xml
<tx:annotation-driven proxy-target-class="true"/>
```
这样就可以保证@Transactional注解生效了。
阅读全文