博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring-BeanFactory容器
阅读量:6984 次
发布时间:2019-06-27

本文共 1728 字,大约阅读时间需要 5 分钟。

Spring的BeanFactory容器

这是Spring中最简单地容器,它主要的功能是为依赖注入(DI)提供支持。这个容器接口在org.springframework.beans.factory.BeanFactor中被定义。BeanFactory和行管的接口,比如BeanFactoryAware,DisposableBean,InitializingBean,仍旧保留在Spring中,主要目的是向后兼容已经存在的和那些Spring整合在一起的第三方框架。

在Spring中,有大量对BeanFactory接口的实现。其中,最常被使用的是XmlBeanFactory类。这个容器从一个XML文件中读取配置元数据,由这些元数据来生成一个被配置化的系统或者应用。

在资源宝贵的移动设备或者基于applet的应用当中,BeanFactory会被优先选择。否则一般使用的是ApplicationContext,除非你又更好的理由选择BeanFactory。

例子:

下面是HelloWorld.java的内容:

package com.tutorialspoint;public class HelloWorld {    private String message;    public String getMessage() {        return message;    }    public void setMessage(String message) {        this.message = message;    }    }

下面是MainApp.java的内容:

package com.tutorialspoint;import org.springframework.beans.factory.xml.XmlBeanFactory;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.core.io.ClassPathResource;public class MainApp {    public static void main(String[] args) {//        ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");        XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("Beans.xml"));        HelloWorld h = (HelloWorld) factory.getBean("helloWorld");        System.out.println(h.getMessage());    }}

在主程序当中,需要注意一下两点:

  • 第一步利用框架提供的XmlBeanFactory()API去生成工厂bean以及利用ClassPathResource()API去加载在路径CLASSPATH下可用的bean配置文件。XmlBeanFactory()API负责创建并初始化所有的对象,即在配置文件中提到的bean。
  • 第二步利用第一步生成的bean工厂对象的getBean()方法得到所需的bean。这个方法通过配置文件中的beanID来返回一个真正的对象,该对象最后可以用于实际的对象。一旦得到这个对象,就可以利用这个对象来调用方法。

下面是Beans.xml文件的内容:

执行的结果:

 

转载于:https://www.cnblogs.com/fangpengchengbupter/p/7778023.html

你可能感兴趣的文章
Collections.unmodifiableMap
查看>>
Python中的类(2)
查看>>
常用命令
查看>>
数据结构——图——最短路径D&F算法
查看>>
hackerrank---Sets - Symmetric Difference
查看>>
服务器端与客户端TCP连接入门(三:多线程)
查看>>
第七课、Qt中的坐标系统------------------狄泰软件学院
查看>>
使用jmeter 设计流程发起测试
查看>>
说说猎豹安全浏览器
查看>>
POJ1269 直线相交
查看>>
颜色代码对应表
查看>>
SQL Server 数据库 'xxx' 正处于转换状态。请稍后再尝试该语句。
查看>>
装饰模式(Decorator)
查看>>
linux 下载rpm包到本地,createrepo:创建本地YUM源
查看>>
简繁转换
查看>>
什么是C++
查看>>
Power Designer的使用
查看>>
运行常用命令
查看>>
rdlc 分页操作和分页统计
查看>>
c# 不安全代码
查看>>