Spring Enable*高級應用及原理
Enable*
之前的文章用到了一些Enable*開頭的注解,比如EnableAsync、EnableScheduling、EnableAspectJAutoProxy、EnableCaching等,Enable表示開啟/允許一項功能。
Enable*工作原理
我們只需要幾個很簡單的注解就能開啟一個複雜的功能,這是多麼簡易的用法,這是怎麼辦到的?
首先來看看計畫任務@EnableScheduling的原始程式碼
主要核心的配置就是導入了一個設定檔,所以謎底也就接開了。
@Import(SchedulingConfiguration.class)
@Import用法
來看看Import的源碼
1、Configuration
即上面的用法,直接導入Configuration配置類。
2、ImportSelector
根據條件選擇導入不同的配置類,參考@EnableAsync
3、ImportBeanDefinitionRegistrar
動態註冊Bean,參考@EnableAspectJAutoProxy
<<2017年,Java程式猿10本經典好書推薦>>
<<高級Java必看的10本書>>
<
看完有沒有收穫?分享到朋友圈給更多的人吧。
代碼及所有資源請加java群274435854下載,我們一起學習交流。