spring aop自动配置源码解析

来源:互联网 发布:知豆二手车evcar 编辑:程序博客网 时间:2024/05/17 23:10
springboot 在默认情况已经开启了aspectj代理,并且代理的实现是使用jdk的代理实现,如果想改成cglib,只需要设置proxy-target-class="true"

@Configuration
@ConditionalOnClass({ EnableAspectJAutoProxy.class, Aspect.class, Advice.class })
@ConditionalOnProperty(prefix = "spring.aop", name = "auto", havingValue = "true", matchIfMissing = true)
public class AopAutoConfiguration {
 @Configuration
 @EnableAspectJAutoProxy(proxyTargetClass = false)
 @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "false", matchIfMissing = true)
 public static class JdkDynamicAutoProxyConfiguration {
 }
 @Configuration
 @EnableAspectJAutoProxy(proxyTargetClass = true)
 @ConditionalOnProperty(prefix = "spring.aop", name = "proxy-target-class", havingValue = "true", matchIfMissing = false)
 public static class CglibAutoProxyConfiguration {
 }
}
0 0