Java Spring ClassPathXmlApplicationContext是如何判断容器内包含某个Bean的
生活随笔
收集整理的這篇文章主要介紹了
Java Spring ClassPathXmlApplicationContext是如何判断容器内包含某个Bean的
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ClassPathXmlApplicationContext的獲得方式:ClassPathXmlApplicationContext context =
new ClassPathXmlApplicationContext(“Beans.xml”);
重要的成員變量:
- beanFactory: DefaultListableBeanFactory
- beanFactoryPostProcessors: ArrayList
- classLoader: sun.misc.Launcher$AppClassLoader@14dad5dc
- configLocations: Beans.xml
- Logger: Jdk14Logger
如何判斷ClassPathXmlApplicationContext容器里是否包含某bean?
使用方法containsBean:
delegate給getBeanFactory().containsBean方法:
這個containsBean方法定義在AbstractApplicationContext里:
而getBeanFactory的實現,位于AbstractRefreshableApplicationContext里:
DefaultListableBeanFactory里有個成員變量beanDefinitionMap, 是一個ConcurrentHashMap:
我在Beans.xml里定義的bean就存儲在這個hashmap里,因此最后context.containsBean返回true:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的Java Spring ClassPathXmlApplicationContext是如何判断容器内包含某个Bean的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 比亚迪海鸥正式上市,售价7.38万元-8
- 下一篇: Java Spring初学者之调试器里括