Spring 控制反轉(IOC)

一、添加 Maven 依賴

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.1.5.RELEASE</version>
</dependency>

二、創建實體類

public class IOCBean {
	...
}

三、創建 Spring 配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="iocBean" class="chu.yi.bo.IOCBean"/>
</beans>

四、Bean 標籤

      作用:

      用於配置對象交由 spring 框架來創建,默認情況下調用的是類中的無參構造函數。如果沒有無參構造函數則不能創建成功。

      屬性:

  • id                         :給對象在容器中提供一個唯一標識。用於獲取對象
  • class                    :指定類的全限定類名。用於反射創建對象。默認情況下調用無參構造函數。
  • init-method        :指定類中的初始化方法名稱
  • destroy-method :指定類中銷燬方法名稱
  • scope                  :指定對象的作用範圍
屬性值 說明
singleton 單例,默認值
prototype 多例
request WEB 項目中,Spring 創建一個 Bean 的對象,將對象存入到 request 域中
session WEB 項目中,Spring 創建一個 Bean 的對象,將對象存入到 session 域中
global session WEB 項目中,應用在 Portlet 環境.如果沒有 Portlet 環境那麼 globalSession 相當於 session

五、測試

public void testSpring() {
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("Application.xml");
    IOCBean aService = (IOCBean) applicationContext.getBean("iocBean");
}

六、Spring 容器
      將實體類交由 Spring 框架管理後,Spring 容器負責這些類實例的創建、裝配、銷燬。BeanFactory 接口、ApplicationContext 接口是 Spring 框架的兩個核心容器。ApplicationContext 接口繼承 BeanFactory 接口。

      兩者區別:

容器 說明
BeanFactory 對象被使用時纔會創建對象
ApplicationContext 只要讀取配置文件就會創建對象

      ApplicationContext 接口實現類:

實現類 說明
ClassPathXmlApplicationContext 從類的根路徑下加載配置文件
FileSystemXmlApplicationContext 從磁盤路徑上加載配置文件
AnnotationConfigApplicationContext 使用註解配置容器對象時,需要使用此類來創建 spring 容器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章