1. 程式人生 > >spring學習--12 @Enable*註解工作原理

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