一、添加 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 容器 |