Java Spring ClassPathXmlApplicationContext是如何判断容器内包含某个Bean的
生活随笔
收集整理的這篇文章主要介紹了
Java Spring ClassPathXmlApplicationContext是如何判断容器内包含某个Bean的
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
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方法:
這個(gè)containsBean方法定義在AbstractApplicationContext里:
而getBeanFactory的實(shí)現(xiàn),位于AbstractRefreshableApplicationContext里:
DefaultListableBeanFactory里有個(gè)成員變量beanDefinitionMap, 是一個(gè)ConcurrentHashMap:
我在Beans.xml里定義的bean就存儲(chǔ)在這個(gè)hashmap里,因此最后context.containsBean返回true:
要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
總結(jié)
以上是生活随笔為你收集整理的Java Spring ClassPathXmlApplicationContext是如何判断容器内包含某个Bean的的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 比亚迪海鸥正式上市,售价7.38万元-8
- 下一篇: GE医疗中国战略升级:打造医疗创新孵化载