ioc原理詳解,spring
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中以便於可以下次繼續使用。