
- Spring 核心基礎
- Spring - 首頁
- Spring - 概述
- Spring - 架構
- Spring - 環境設定
- Spring - Hello World 示例
- Spring - IoC 容器
- Spring - Bean 定義
- Spring - Bean 作用域
- Spring - Bean 生命週期
- Spring - Bean 後處理器
- Spring - Bean 定義繼承
- Spring - 依賴注入
- Spring - 注入內部 Bean
- Spring - 注入集合
- Spring - Bean 自動裝配
- 基於註解的配置
- Spring - 基於 Java 的配置
- Spring - Spring 中的事件處理
- Spring - Spring 中的自定義事件
- Spring - 使用 Spring 框架進行 AOP
- Spring - JDBC 框架
- Spring - 事務管理
- Spring - Web MVC 框架
- Spring - 使用 Log4J 進行日誌記錄
- Spring 問題與解答
- Spring - 問題與解答
- Spring 有用資源
- Spring - 快速指南
- Spring - 有用資源
- Spring - 討論
Spring BeanFactory 容器
這是最簡單的容器,提供對 DI 的基本支援,並由 org.springframework.beans.factory.BeanFactory 介面定義。BeanFactory 和相關的介面,如 BeanFactoryAware、InitializingBean、DisposableBean,仍然存在於 Spring 中,目的是為了與大量與 Spring 整合的第三方框架保持向後相容性。
BeanFactory 介面有很多實現,這些實現都是 Spring 自帶的。最常用的 BeanFactory 實現是 **XmlBeanFactory** 類。此容器從 XML 檔案讀取配置元資料,並使用它來建立一個完全配置的系統或應用程式。
在資源有限的情況下,例如移動裝置或基於 applet 的應用程式,通常首選 BeanFactory。因此,除非你有充分的理由不這樣做,否則請使用 ApplicationContext。
示例
讓我們看一下現有的 Eclipse IDE,並按照以下步驟建立一個 Spring 應用程式:
步驟 | 描述 |
---|---|
1 | 建立一個名為 *SpringExample* 的專案,並在建立的專案中的 **src** 資料夾下建立一個名為 com.tutorialspoint 的包。 |
2 | 使用“新增外部 JAR”選項新增所需的 Spring 庫,如 Spring Hello World 示例章節中所述。 |
3 | 在 *com.tutorialspoint* 包下建立 Java 類 *HelloWorld* 和 *MainApp*。 |
4 | 在 **src** 資料夾下建立 Bean 配置檔案 *Beans.xml*。 |
5 | 最後一步是建立所有 Java 檔案和 Bean 配置檔案的內容。最後,按照下面說明執行應用程式。 |
以下是 **HelloWorld.java** 檔案的內容:
package com.tutorialspoint; public class HelloWorld { private String message; public void setMessage(String message){ this.message = message; } public void getMessage(){ System.out.println("Your Message : " + message); } }
以下是第二個檔案 **MainApp.java** 的內容
package com.tutorialspoint; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; public class MainApp { public static void main(String[] args) { XmlBeanFactory factory = new XmlBeanFactory (new ClassPathResource("Beans.xml")); HelloWorld obj = (HelloWorld) factory.getBean("helloWorld"); obj.getMessage(); } }
關於主程式,需要注意以下兩點:
第一步是建立一個工廠物件,我們使用框架 API XmlBeanFactory() 建立工廠 Bean,並使用 ClassPathResource() API 載入 CLASSPATH 中可用的 Bean 配置檔案。XmlBeanFactory() API 負責建立和初始化配置檔案中提到的所有物件,即 Bean。
第二步是使用建立的 Bean 工廠物件的 getBean() 方法獲取所需的 Bean。此方法使用 Bean ID 返回一個泛型物件,最終可以將其轉換為實際物件。一旦你獲得了物件,就可以使用此物件呼叫任何類方法。
以下是 Bean 配置檔案 **Beans.xml** 的內容
<?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-3.0.xsd"> <bean id = "helloWorld" class = "com.tutorialspoint.HelloWorld"> <property name = "message" value = "Hello World!"/> </bean> </beans>
建立原始檔和 Bean 配置檔案後,讓我們執行應用程式。如果你的應用程式一切正常,它將列印以下訊息:
Your Message : Hello World!