Spring IoC容器
spring ioc容器
ioc容器負責實例化,配置和組裝對象。 ioc容器從xml文件獲取信息并相應地工作。 ioc容器執行的主要任務是:
- 實例化應用程序類
- 配置對象
- 組裝對象之間的依賴關系
有兩種類型的ioc容器。它們是:
- beanfactory
- applicationcontext
beanfactory和applicationcontext之間的區別
org.springframework.beans.factory。 beanfactory 和org.springframework.context。 applicationcontext 接口充當ioc容器。 applicationcontext接口建立在beanfactory接口的頂部。它比beanfactory增加了一些額外的功能,例如與spring的aop的簡單集成,消息資源處理(用于i18n),事件傳播,web應用程序的特定于應用程序層的上下文(例如webapplicationcontext)。因此,使用applicationcontext比使用beanfactory更好。
使用beanfactory
xmlbeanfactory是beanfactory接口的實現類。要使用beanfactory,我們需要創建xmlbeanfactory類的實例,如下所示:
resource resource=new classpathresource("applicationcontext.xml"); beanfactory factory=new xmlbeanfactory(resource);
xmlbeanfactory類的構造函數接收resource對象,因此我們需要傳遞該資源對象來創建beanfactory對象。
使用applicationcontext
classpathxmlapplicationcontext類是applicationcontext接口的實現類。我們需要實例化classpathxmlapplicationcontext類以使用applicationcontext,如下所示:
applicationcontext context = new classpathxmlapplicationcontext("applicationcontext.xml");
classpathxmlapplicationcontext類的構造函數接收字符串,因此我們可以傳遞xml文件的名稱來創建applicationcontext的實例。