大前提:该类必须实现了某个接口,其他类使用注解引用该类时,必须基于其实现的接口类型注入,否则注入不成功。
-
方式1,启动类上注解如下设置
@SpringBootApplication(exclude = { AopAutoConfiguration.class})
@EnableTransactionManagement
-
方式2,配置文件如下设置
spring:
aop:
proxy-target-class: false
原因分析:
- AopAutoConfiguration.class源码
//作为配置类注入
@Configuration
//当类路劲下存在以上这些类,继续向下判断
@ConditionalOnClass({ EnableAspectJAutoProxy.class, Aspect.class, Advice.class,
AnnotatedElement.class })
//当配置中存在以上配置信息,但不是必须要显式的配置,没有也可以
@ConditionalOnProperty(prefix = "spring.aop", name = "auto", havingValue = "true", matchIfMissing = true)
public class AopAuto