我在我的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
1条答案
按热度按时间yxyvkwin1#
Sping Boot 在以下情况下将proxyTargetClass设置为true:
1.如果方面类标记有@Configuration或@Component
1.如果spring.aop.proxy-target-class属性在application.properties或application. yml中设置为true。
否则,proxyTargetClass将为false,默认为JDK动态代理。