beanFactory 与 ApplicationContext的区别

本文深入探讨了Spring框架中BeanFactory与ApplicationContext的区别。BeanFactory在加载配置文件时并不立即创建对象,而是在调用getBean方法时才创建;ApplicationContext则在创建容器时就初始化所有单例bean,能更早发现配置错误,适用于大多数项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

beanFactory 与 ApplicationContext的区别

Beanfactory:创建容器对象时,只是加载了配置文件,没有创建对象
            只有获取对象时,才会创建对象
ApplicationContext:
           (默认单例模式)创建容器对象时,创建对象,(常用,因为项目启动会时就能检查错误。而beanFactory需要用到该方法后才能检查错误,不利于开发)

补充:单例模式情况下-->ApplicationContext创建容器对象时,创建对象
      多例例模式情况下-->ApplicationContext创建容器对象时,不创建对象。只有获取的时候,才会创建

 

=====================
/*beanFactory*/ 
=====================
public void testBeanFactory() {
            Resource resource = new ClassPathResource("beans.xml");
            BeanFactory beanFactory = new XmlBeanFactory(resource);
            // class="***"有误时,如果不执行下面的获取对象方法,程序不报错。只有获取对象时才会报错。
            Object userDao = beanFactory.getBean("userDao");
            System.out.println(userDao);
        }



/*ApplicationContext*/

public void testApplicationContext() {
           // class="***"有误时,只要创建容器对象,程序就会报错。
            ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
            Object userDao1 = ac.getBean("userDao");
            System.out.println(userDao1);
        }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值