如果 tx:annotation-driven 已启用,是否需要 DefaultAutoProxyCreator?
<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
<property name="proxyTargetClass" value="true" />
</bean>
<tx:annotation-driven proxy-target-class="true"/>
似乎当两者都启用时,代理的代理开始创建并开始失败。
仅启用 tx-annotation,我也在 Maven 依赖项中禁用了 spring-aspect 和 cglib。即使在 Spring 4 中,对于上述基于类的代理,我是否也需要 cglib?
Spring 版本:4.0.6
最佳答案
据我了解,您实际上并不需要显式的 DefaultAdvisorAutoProxyCreator
,除非您有用于横切目的的特定 Advisors
- 如果是这样,我觉得@AspectJ 方法可能更干净。
此外,显式禁用 cglib 不会产生任何效果,Spring 附带了自己的 CGLIB 副本。
关于java - Spring中创建的Proxy的Proxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26345455/