1. 程式人生 > >spring原理核心之IOC

spring原理核心之IOC

IOC:spring內部最核心的就是IOC了,控制權由物件本身轉向容器;由容器根據配置檔案區建立例項並建立各個例項之間的依賴關係並放在容器裡面;當時使用物件時,動態注入,讓一個物件的建立不用new了,可以自動的生產,從容器裡面獲取。這其實就是利用java裡的反射,反射其實就是在執行時動態的去建立、呼叫物件,Spring就是在執行時,跟xml配置 Spring的配置檔案來動態的建立物件,和呼叫物件裡的方法的。

核心容器類:

以ApplicationContext作為核心的介面設計,這裡涉及的主要介面設計有,從BeanFactory到ListableBeanFactory,再到ApplicationContext,再到我們常用的WebApplicationContext或者ConfigurableApplicationContext介面。我們常用的應用基本都是org.framework.context包裡的WebApplicationContext或者ConfigurableApplicationContext實現。在這個介面體現中,ListableBeanFactory和HierarchicalBeanFactory兩個介面,連線BeanFactory介面定義和ApplicationContext應用的介面定義。在ListableBeanFactory介面中,細化了許多BeanFactory的介面功能,比如定義了getBeanDefinitionNames()介面方法;對於ApplicationContext介面,它通過繼承MessageSource、ResourceLoader、ApplicationEventPublisher介面,在BeanFactory簡單Ioc容器的基礎上添加了許多對高階容器的特性支援功能。