春天方面的含义

时间:2015-02-04 09:07:23

标签: spring aspectj spring-aop

我正在开发一个具有方面且在配置上有@EnableAspectJ的项目。

这意味着spring的所有代理都是使用aspectj创建的?那么@Transactional@Async会发生什么?是否应将mode属性设置为使用aspectJ?或者它将使用CGLIB和Aspectj?

1 个答案:

答案 0 :(得分:2)

docs开始,您需要将proxyTargetClass=true设置为使用CGLIB代理,否则将使用基于JDK接口的标准代理。

  

用户可以使用proxyTargetClass()属性控制为FooService创建的代理类型。以下是启用CGLIB样式的“子类”代理,而不是基于默认接口的JDK代理方法。

 @Configuration
 @EnableAspectJAutoProxy(proxyTargetClass=true)
 public class AppConfig {
   // ...
 }