javascript
Spring BeanFactory 容器
轉(zhuǎn)載自??Spring BeanFactory 容器
Sping 的 BeanFactory 容器
這是一個(gè)最簡(jiǎn)單的容器,它主要的功能是為依賴(lài)注入 (DI) 提供支持,這個(gè)容器接口在 org.springframework.beans.factory.BeanFactory 中被定義。 BeanFactory 和相關(guān)的接口,比如BeanFactoryAware、 DisposableBean、InitializingBean,仍舊保留在 Spring 中,主要目的是向后兼容已經(jīng)存在的和那些 Spring 整合在一起的第三方框架。
在 Spring 中,有大量對(duì) BeanFactory 接口的實(shí)現(xiàn)。其中,最常被使用的是?XmlBeanFactory?類(lèi)。這個(gè)容器從一個(gè) XML 文件中讀取配置元數(shù)據(jù),由這些元數(shù)據(jù)來(lái)生成一個(gè)被配置化的系統(tǒng)或者應(yīng)用。
在資源寶貴的移動(dòng)設(shè)備或者基于 applet 的應(yīng)用當(dāng)中, BeanFactory 會(huì)被優(yōu)先選擇。否則,一般使用的是 ApplicationContext,除非你有更好的理由選擇 BeanFactory。
例子:
假設(shè)我們已經(jīng)安裝 Eclipse IDE,按照下面的步驟,我們可以創(chuàng)建一個(gè) Spring 應(yīng)用程序。
| 1 | 創(chuàng)建一個(gè)名為?SpringExample?的工程并在?src?文件夾下新建一個(gè)名為?com.tutorialspoint?文件夾。 |
| 2 | 點(diǎn)擊右鍵,選擇?Add External JARs?選項(xiàng),導(dǎo)入 Spring 的庫(kù)文件,正如我們?cè)?Spring Hello World Example?章節(jié)中提到的導(dǎo)入方式。 |
| 3 | 在?com.tutorialspoint?文件夾下創(chuàng)建?HelloWorld.java?和?MainApp.java兩個(gè)類(lèi)文件。 |
| 4 | 在?src?文件夾下創(chuàng)建 Bean 的配置文件?Beans.xml |
| 5 | 最后的步驟是創(chuàng)建所有 Java 文件和 Bean 的配置文件的內(nèi)容,按照如下所示步驟運(yùn)行應(yīng)用程序。 |
下面是文件?HelloWorld.java?的內(nèi)容:
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?的內(nèi)容:
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();} }在主程序當(dāng)中,我們需要注意以下兩點(diǎn):
-
第一步利用框架提供的?XmlBeanFactory()?API 去生成工廠 bean 以及利用?ClassPathResource()?API 去加載在路徑 CLASSPATH 下可用的 bean 配置文件。XmlBeanFactory()?API 負(fù)責(zé)創(chuàng)建并初始化所有的對(duì)象,即在配置文件中提到的 bean。
- 第二步利用第一步生成的 bean 工廠對(duì)象的?getBean()?方法得到所需要的 bean。 這個(gè)方法通過(guò)配置文件中的 bean ID 來(lái)返回一個(gè)真正的對(duì)象,該對(duì)象最后可以用于實(shí)際的對(duì)象。一旦得到這個(gè)對(duì)象,就可以利用這個(gè)對(duì)象來(lái)調(diào)用任何方法。
下面是配置文件?Beans.xml?中的內(nèi)容:
<?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/beanshttp://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>如果你已經(jīng)完成上面的內(nèi)容,接下來(lái),讓我們運(yùn)行這個(gè)應(yīng)用程序。如果程序沒(méi)有錯(cuò)誤,你將從控制臺(tái)看到以下信息:
Your Message : Hello World!總結(jié)
以上是生活随笔為你收集整理的Spring BeanFactory 容器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Spring IoC 容器
- 下一篇: 9 Best Bakery Logos