kube-controller-manager
阿新 • • 發佈:2021-12-17
IoC 容器是 Spring 的核心,也可以稱為 Spring 容器。Spring 通過 IoC 容器來管理物件的例項化和初始化,以及物件從建立到銷燬的整個生命週期。
Spring 中使用的物件都由 IoC 容器管理,不需要我們手動使用 new 運算子建立物件。由 IoC 容器管理的物件稱為 Spring Bean,Spring Bean 就是 Java 物件,和使用 new 運算子建立的物件沒有區別。
Spring 提供 2 種不同型別的 IoC 容器,即BeanFactory 和ApplicationContext 容器。
1. BeanFactory 容器
BeanFactory 是最簡單的容器,由 org.springframework.beans.factory.BeanFactory 介面定義,採用懶載入(lazy-load)
簡單來說,BeanFactory 就是一個管理 Bean 的工廠,它主要負責初始化各種 Bean,並呼叫它們的生命週期方法。
BeanFactory 介面有多個實現類,最常見的是 org.springframework.beans.factory.xml.XmlBeanFactory。使用 BeanFactory 需要建立 XmlBeanFactory 類的例項,通過 XmlBeanFactory 類的建構函式來傳遞 Resource 物件。
Resource resource = new ClassPathResource("applicationContext.xml"); BeanFactory factory= new XmlBeanFactory(resource);
2. ApplicationContext 容器
ApplicationContext 繼承了 BeanFactory 介面,由org.springframework.context.ApplicationContext 介面定義,物件在啟動容器時載入。ApplicationContext 在 BeanFactory 的基礎上增加了很多企業級功能,例如 AOP、國際化、事件支援等。