spring - ioc原理詳解
來源:魅力女性吧 9.22K
IOC: 控制反轉,是一種設計模式。
一層含義是控制權的轉移,由傳統的在程序中控制依賴轉移到由容器來控制。
第二層是依賴注入:將相互依賴的對象分離,在Spring配置文件中描述他們的依賴關係,他們的依賴關係只在使用的時候才建立,簡單來説就是不需要的NEW一個對象了。
1、 加載並且保存Spring配置文件路徑信息,然後保存到configLocation中。
2、 刷新Spring上下文。
3、 創建並且載入DefaultListableBeanFactory(即BeanFactory)。
4、 根據DefaultListableBeanFactory創建XMLBeanDefinitionReader,用於後面讀取xml配置文件信息。
5、 創建BeanDefinitionDelegate代理類,用於解析xml配置信息。
6、 解析xml中配置的<import>、<beans>、<alias>等不同的標籤信息,以便於可以使用不同的解析器進行解析。
7、 通過XMLBeanDefinitionReader結合location路徑信息讀取Resources資源信息。
8、 使用BeanDefinitionDelegate代理類解析Bean元素並且依次進行實例化操作,實例化完畢之後將Bean信息註冊(put)到BeanDefinitionMap中以便於可以下次繼續使用。