這是一個最簡單的容器,它主要的功能是為依賴注入 (DI) 提供支持,這個容器接口在 org.springframework.beans.factory.BeanFactory中被定義。BeanFactory 和相關的接口,比如BeanFactoryAware、DisposableBean、InitializingBean,仍舊保留在 Spring 中,主要目的是向后兼容已經存在的和那些 Spring 整合在一起的第三方框架。
在 Spring 中,有大量對 BeanFactory 接口的實現。其中,最常被使用的是 XmlBeanFactory 類。這個容器從一個 XML 文件中讀取配置元數據,由這些元數據來生成一個被配置化的系統(tǒng)或者應用。
在資源寶貴的移動設備或者基于 applet 的應用當中, BeanFactory 會被優(yōu)先選擇。否則,一般使用的是 ApplicationContext,除非你有更好的理由選擇 BeanFactory。
假設我們已經安裝 Eclipse IDE,按照下面的步驟,我們可以創(chuàng)建一個 Spring 應用程序。
步驟 | 描述 |
---|---|
1 | 創(chuàng)建一個名為 SpringExample 的工程并在 src 文件夾下新建一個名為 com.tutorialspoint 文件夾。 |
2 | 點擊右鍵,選擇 Add External JARs 選項,導入 Spring 的庫文件,正如我們在 Spring Hello World Example 章節(jié)中提到的導入方式。 |
3 | 在 com.tutorialspoint 文件夾下創(chuàng)建 HelloWorld.java 和 MainApp.java 兩個類文件。 |
4 | 在 src 文件夾下創(chuàng)建 Bean 的配置文件 Beans.xml |
5 | 最后的步驟是創(chuàng)建所有 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();
}
}
在主程序當中,我們需要注意以下兩點:
第一步利用框架提供的 XmlBeanFactory() API 去生成工廠 bean 以及利用 ClassPathResource() API 去加載在路徑 CLASSPATH 下可用的 bean 配置文件。XmlBeanFactory() API 負責創(chuàng)建并初始化所有的對象,即在配置文件中提到的 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>
如果你已經完成上面的內容,接下來,讓我們運行這個應用程序。如果程序沒有錯誤,你將從控制臺看到以下信息:
Your Message : Hello World!
更多建議: