spring学习--12 @Enable*注解工作原理

所有@Enable*已经注解的元注解中均包含@Import注解,@Import用于导入配置类,因此@Enable*注解通过导入配置类实现*所标注功能的使能。如@EnableAsync、@EnableScheduling、@EnableAspectJAutoProxy等等。
导入配置类方式分为三种:
1、直接导入配置类,如@EnableScheduling导入SchedulingConfiguration。
2、依据条件导入配置类,如@EnableAysnc通过adviceMode选择ProxyAsyncConfiguration(此时adviceMode==PROXY)或AspectJAsyncConfiguration(此时adviceMode==ASPECTJ)。
3、动态注册Bean,如@EnableAspectJAutoProxy导入了AspectJAutoProxyRegistrar,AspectJAutoProxyRegistrar实现了ImportBeanDefinitionRegistrar接口,后者的作用是在运行时自动添加Bean到已有的配置类,在@EnableAspectJAutoProxy中即是将Advice(建言)添加到JointPoint

猜你喜欢

转载自blog.csdn.net/xiewz1112/article/details/80497411
今日推荐