spring 的工厂类

Posted weixuqin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring 的工厂类相关的知识,希望对你有一定的参考价值。

spring 的工厂类

技术图片

1. 工厂类 BeanFactory 和 ApplicationContext 的区别。
  1. ApplicationContext 是 BeanFactory 的子接口,提供了比父接口更多的功能。

  2. 在生成 bean 实例的时候,生成的时机是不一样的。

    BeanFactory 在工厂实例化后,在调用 getBean 时创建实例。

    ApplicationContext 在一加载配置文件的时候,将配置文件中所有单例模式生成的类全部实例化。

现在一般使用 ApplicationContext,不建议使用 BeanFactory。

2. 加载配置文件的两种方式:
  • 工作目录下加载:ClassPathXmlApplicationContext
  • 某个目录下加载:FileSystemXmlApplicationContext
3. 演示

这里以使用 BeanFactory 工厂类,和使用 FileSystemXmlApplicationContext 方法为例:

@Test
/**
 * 传统方式的工厂类:BeanFactory
 */
public void demo5() 
    //创建工厂类
    BeanFactory beanFactory = new XmlBeanFactory(new FileSystemResource("e:\\applicationContext.xml"));
    //通过工厂获得类
    UserService userService = (UserService) beanFactory.getBean("userService");

    userService.sayHello();

以上是关于spring 的工厂类的主要内容,如果未能解决你的问题,请参考以下文章

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

spring 的工厂类

PHP面向对象之选择工厂和更新工厂

Spring - 从工厂类注入 bean

设计模式系列---简单工厂工厂方法抽象工厂

spring的工厂类