Java 正在Spring中创建的代理的代理

Java 正在Spring中创建的代理的代理,java,spring,spring-aop,Java,Spring,Spring Aop,如果已启用tx:annotation-driven,是否需要DefaultAutoProxyCreator <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"> <property name="proxyTargetClass" value="true" /> </bean> <tx:annotation-dri

如果已启用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注释,我也在maven依赖项中禁用了spring方面和cglib。我是否需要在Spring4中使用cglib来实现上述基于类的代理


Spring版本:4.0.6

据我所知,你并不真正需要显式的
DefaultAdvisorAutoProxyCreator
,除非你有专门的
Advisors
用于横切目的——如果是这样的话,我觉得@AspectJ方法可能更简洁


另外,显式禁用cglib没有任何效果,Spring自带了自己的cglib副本。

我确实有一个建议。您建议改为使用@AspectJ,为此,我是否也需要添加spring方面,或者默认的基于接口的代理将按照tx annotation启用的方式工作?启用不会再次开始与冲突吗?不,不会,
将仅基于包含@AspectJ注释的bean创建代理,并且不会代理事务。好的,我知道了,所以具有@Aspectj的类和接口都将由代理,同时我可以在类和接口级别为@Transactional代理