作用:掃描指定的類,注冊到BeanDefinitionRegistry中,與ClassPathBeanDefinitionScanner不一樣,ClassPathBeanDefinitionScanner是掃描指定路徑下@Component的類極其派生類,而AnnotatedBeanDefinitionReader可以指定任意一個類,注意:基礎設施類也屬于自定義指定的類,關于基礎設施,另一片文章AnnotationConfigUtils有具體說明
時機:我怎么知道??不過以我目前跟源代碼來推測,在spring當中,AnnotatedBeanDefinitionReader的創建時機實在創建各種ApplicationContext接口實例的時候,比如new AnnotationConfigApplicationContext的時候,AnnotationConfigApplicationContext的構造方法就會new一個AnnotatedBeanDefinitionReader實例
示例:
1.創建一個類,這個類沒有任何要求
public class EntityNonAnnotation {}
2.將上邊的類實例化并交給BeanDefinitionRegistry去處理
public static void main(String[] args) {AnnotatedBeanDefinitionReader scanner = new AnnotatedBeanDefinitionReader(new MyBeanDefinitionRegistry());scanner.register(EntityNonAnnotation.class);}
關于MyBeanDefinitionRegistry,參考另外一篇文章Spring-BeanDefinitionRegistry
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态