java - Spring中创建的Proxy的Proxy

标签 java spring spring-aop

如果 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/

相关文章:

java - Spring AOP - 无法执行方面

java - 在java类中执行多重检查的更优雅的方法?

spring - Jackson 序列化器 Spring Bean

java - Tomcat 9 上的 Spring Boot 无法映射 Controller (404)

spring @Aspect 不注入(inject)依赖项

java - 我在 Spring 配置 XML 文件 :org. xml.sax.SAXParseException 中收到错误

java - 将已弃用的 "public void onAttach(Activity a)"更改为什么?

java - 将 parseInt 更改为 nextInt

java - 正则表达式检测java中的文件结构

java - 提供静态内容的 Tomcat