Spring Boot Sping Boot 在何处将代理设置为CGLib

np8igboo  于 2023-02-04  发布在  Spring
关注(0)|答案(1)|浏览(165)

我在我的spring boot项目中使用了@Aspect,我不需要手动设置@EnableAspectJAutoProxy,因为spring boot会自动设置它。
当我调试到方面类时,它显示为CGLib代理

MyTestAspect$$EnhancerBySpringCGLib$$xxxxxxxx@1234

但是@EnableAspectJAutoProxy有默认的proxyTargetClass = false,这意味着JDK动态是默认的,SpringBoot在哪里将它设置为true?

    • 更新日期**:

spring.aop.proxy-target-class = true用于两个类中
TransactionAutoConfiguration.java
AopAutoConfiguration.java

yxyvkwin

yxyvkwin1#

Sping Boot 在以下情况下将proxyTargetClass设置为true:
1.如果方面类标记有@Configuration或@Component
1.如果spring.aop.proxy-target-class属性在application.properties或application. yml中设置为true。
否则,proxyTargetClass将为false,默认为JDK动态代理。

相关问题