proxy-target-class
时间: 2023-04-21 18:03:58 浏览: 125
proxy-target-class是Spring AOP中的一个属性,用于指定是否使用CGLIB代理来创建代理对象。当proxy-target-class为true时,Spring将使用CGLIB代理来创建代理对象,否则将使用JDK动态代理。CGLIB代理可以代理类和接口,而JDK动态代理只能代理接口。因此,如果要代理类而不是接口,需要将proxy-target-class设置为true。
相关问题
spring.aop.proxy-target-class 启动 栈溢出
`spring.aop.proxy-target-class` 是一个 Spring AOP 的配置属性,用来指定是否强制使用 CGLIB 来创建代理对象。默认情况下,Spring AOP 会根据被代理类的接口情况来决定使用 JDK 动态代理还是 CGLIB 代理。
如果你在应用程序中启用了 `spring.aop.proxy-target-class`,并且代理的目标类没有实现接口,那么 Spring AOP 将会使用 CGLIB 来创建代理对象。但是,CGLIB 代理可能会导致栈溢出的问题,因为它使用了大量的反射和递归调用。
如果你遇到了栈溢出的问题,可以尝试关闭 `spring.aop.proxy-target-class`,或者考虑使用其他的 AOP 框架来代替 Spring AOP。同时,你还可以调整 JVM 的栈大小来解决栈溢出的问题。
<aop:aspectj-autoproxy proxy-target-class="true"/>
这是一个 Spring AOP 的配置,在这个配置中,proxy-target-class 属性被设置为 true,意味着 Spring 会使用 CGLIB 动态代理代替 JDK 动态代理来生成 AOP 代理对象。
阅读全文