Spring工厂类结构

有两个工厂接口

  1. BeanFactory
  2. AcctionContext

ApplicationContext接口:

  • 每次容器启动时就会创建容器中配置的所有对象.并提供更多功能
  1. 它就相当于一个大工厂,提供了根据配置文件中的id属性值,获取对象
  2. 两个实现类:
  • ClassPathXmlApplication类,从类的根路径下加载配置文件(企业项目开发中,使用较多)

  • FileSystemXmlApplication类,从文件系统(磁盘)上加载配置文件

从工厂中获取对象

  • applicationContext.xml配置文件
<bean id="customerDaoImpl" class="com.dao.impl.CustomerDaoImpl"></bean>
  • 获取对象
@Test
public void save(){
    //创建ApplicationContext的实现类
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

    //获取对象
    CustomerDaoImpl customerDaoImpl = (CustomerDaoImpl) context.getBean("customerDaoImpl");

    //调用方法
    customerDaoImpl.saveCustomer();
}

BeanFactory(过时)

  • 采用延迟创建的思想

因为是之前硬件还没发达, 资源匮乏, 才需要延迟创建 
- spring原始接口.针对原始接口的实现类功能较为单一

  • BeanFactory接口实现类的容器.特点是每次在获得对象时才会创建对象

BeanFactory和ApplicationContext区别

  1. BeanFactory是工厂顶层接口
  2. ApplicationContext是BeanFactory子接口
  3. 创建对象时间点不一样:

BeanFactory创建对象:什么时候使用,什么时候创建。采用延迟创建的思想

ApplicationContext创建对象:加载配置文件,立即创建。采用立即创建的思想

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖行骗老中医

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值