1. 程式人生 > >Spring IOC容器的基本應用

Spring IOC容器的基本應用

信息 ioc容器 ans control gpo getbean 配置文件 如何工作 簡單

Spring IOC概述


  IOC全稱Inversion of Control,被譯為控制反轉,是指程序中對象的獲取方式發生反轉,由最初的new方式創建,轉變為由第三方框架創建、註入(DI),它降低了對象之間的耦合度。

  Spring容器是IOC機制的一種實現,同時IOC也是Spring框架的基礎和核心,它借助DI(Dependency Injection)方法實現。

Spring Bean容器


   Spring容器是Spring框架中的核心組件,負責創建Bean對象(一種簡單規範的JAVA對象)及管理這些對象之間的依賴關系。

  Spring容器是如何工作的呢?在Spring項目運行是,Spring容器負責讀取項目中的元數據信息(這些元數據可能是基於xml、也可能是基於註解實現),然後這些信息創建Bean對象的實例。

  IOC是Spring框架中的一種機制,提供了容器中對象的控制反轉功能,這個功能的實現需要借助依賴查找和依賴註入。

?Spring容器元數據配置

  Spring中元數據的配置有兩種方式,基於xml或annotation方式。這個小節了解基於XML方式的元數據實現bean元素的基本配置(後續在描述annotation方式)。

  

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://www.springframework.org/schema/beans 5 http://www.springframework.org/schema/beans/spring-beans.xsd"> 6 7 <bean id="..." class="..."> 8 <!-- collaborators and configuration for this bean go here --> 9 </bean> 10 11 <bean
id="..." class="..."> 12 <!-- collaborators and configuration for this bean go here --> 13 </bean> 14 15 <!-- more bean definitions go here --> 16 17 </beans>

  Spring中多個元素配置文件的實現方法

1 <beans>
2     <import resource="services.xml"/>
3     <import resource="resources/messageSource.xml"/>
4     <import resource="/resources/themeSource.xml"/>
5 
6     <bean id="bean1" class="..."/>
7     <bean id="bean2" class="..."/>
8 </beans>

?Spring容器的初始化

  Spring中容器的類型為Application類型,其初始化方法如下:

1 ApplicationContext context =
2 new ClassPathXmlApplicationContext("beans.xml");

  Spring容器初始化是需要加載元數據的配置信息,類如beans.xml文件中聲明的元數據的相關配置。

?Spring 容器的使用

  Spring容器初始化以後,可以通過容器的getBean(...)方法獲取容器的Bean對象,進而操作Bean對象,例如:

1 Contex.getBean(“xxxService”,XxxService.class);

2018-03-10

文筆有限,才疏學淺,文中若有不正之處,萬望告知。

Spring IOC容器的基本應用