Sping 的 BeanFactory 容器
来源:互联网 发布:linux 启动apache2 编辑:程序博客网 时间:2024/05/29 14:33
http://wiki.jikexueyuan.com/project/spring/ioc-container/spring-bean-fatory-container.html
这是一个最简单的容器,它主要的功能是为依赖注入 (DI) 提供支持,这个容器接口在 org.springframework.beans.factory.BeanFactor 中被定义。 BeanFactory 和相关的接口,比如,BeanFactoryAware、 DisposableBean、InitializingBean,仍旧保留在 Spring 中,主要目的是向后兼容已经存在的和那些 Spring 整合在一起的第三方框架。
在 Spring 中,有大量对 BeanFactory 接口的实现。其中,最常被使用的是 XmlBeanFactory 类。这个容器从一个 XML 文件中读取配置元数据,由这些元数据来生成一个被配置化的系统或者应用。
在资源宝贵的移动设备或者基于 applet 的应用当中, BeanFactory 会被优先选择。否则,一般使用的是 ApplicationContext,除非你有更好的理由选择 BeanFactory。
例子:
假设我们已经安装 Eclipse IDE,按照下面的步骤,我们可以创建一个 Spring 应用程序。
下面是文件 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 负责创建并初始化所有的对象,即在配置文件中提到的 bean。
- 第二步利用第一步生成的 bean 工厂对象的 getBean() 方法得到所需要的 bean。 这个方法通过配置文件中的 bean ID 来返回一个真正的对象,该对象最后可以用于实际的对象。一旦得到这个对象,就可以利用这个对象来调用任何方法。
下面是配置文件 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!
- Sping 的 BeanFactory 容器
- Sping BeanFactory FactoryBean AOP IOC DI之间的内在联系
- Sping容器与被管的Bean
- 2-BeanFactory容器的设计原理
- Sping提供了两种类型的 IOC 容器实现.
- Spring容器对象(BeanFactory)
- Spring容器对象(BeanFactory)
- (1.0)Spring的IoC容器之BeanFactory
- IoC容器系列的设计与实现:BeanFactory和ApplicationContext
- IoC容器系列的设计与实现:BeanFactory和ApplicationContext
- 【Spring4揭秘 BeanFactory】基本容器-BeanFactory
- Spring--IoC--创建BeanFactory容器
- 获取spring容器总的BeanFactory
- ApplicationContext 接口容器和BeanFactory 接口容器
- 通过配置xml文件的方式将Classpath下的类交给Sping容器管理
- BeanFactory到WebApplicationContext的结构 以及bean和spring容器的关系
- BeanFactory到WebApplicationContext的结构 以及bean和spring容器的关系
- BeanFactory和ApplicationContext容器的bean后置处理器方式的不同
- 数据结构实验之链表六:有序链表的建立
- 20、Handler、Looper消息传递机制
- DataSet,DataTable,DataView的关系及简单应用
- 杀毒软件已经进入空前弱智与混沌状态
- 关于:警告: 聚合或其他 SET 操作消除了空值。
- Sping 的 BeanFactory 容器
- vyatta: snat, dnat
- 我的笔记
- RPM包制作
- cameraManager.openDriver(surfaceHolder),也就是camera.open(),抛出IOException
- hxy系列5-反向传播
- 建造者模式
- margin、edge
- 零基础学习网页制作(一)