首页 > 代码库 > spring 之 BeanFactory

spring 之 BeanFactory

  顾名思义,BeanFactory其实就是Bean工厂,运用了工厂模式,用来产生Bean。在spring中有几种BeanFactory的实现,现在就来聊聊,简单说一下:

1、XmlBeanFactory:他好几种不同的构造方法,现在说说最常见的一个是利用FileSystemResource来构造:BeanFactory factory = new XmlBeanFactory(new FileSystemResource("c:/beans.xml")); 这段简单的代码告诉bean工厂从xml文件的定义中获取bean,现在bean还没被实例化 需要实例化的话很简单,这样:

MyBean mybean = (MyBean)factory.getBean("mybean");  这样就可以了

 

  还有一个叫ApplicationContext的和BeanFactory差不多,两者都是载入Bean定义信息,装配Bean不过ApplicationContext提供了更多功能:

a.应用上下文提供了文本信息解析工具,包括国际化(I18N)支持

b.应用上下文提供了载入文件资源的通用方法,如载入图片

c.应用上下文可以向注册为监听器的Bean发送事件

  ApplicationContext有诸多实现,下面介绍三个常用的

1.ClassPathXmlApplicationContext 从类路径的xm文件载入上下文定义的信息

2.FileSystemXmlApplicationContext 从文件系统的xml文件载入上下文定义信息

3.XmlWebApplicationContext 从web系统的xml文件载入上下文定义信息

获取bean方法也和BeanFactory差不多

ApplicationContext context = new ClassPathXmlApplicationContext("foo.xml");