@EnableAspectJAutoProxy
可以看出这个注解的主要作用就是导入AspectJAutoProxyRegistrar
@Import(AspectJAutoProxyRegistrar.class)
public @interface EnableAspectJAutoProxy {
// ...
}
AspectJAutoProxyRegistrar
继承 ImportBeanDefinitionRegistrar
接口,所以这个类的作用就是把相关Bean注册到Spring中。
class AspectJAutoProxyRegistrar implements ImportBeanDefinitionRegistrar {
@Override
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
// 在这注册,跟进去
AopConfigUtils.registerAspectJAnnotationAutoProxyCreatorIfNecessary<