Spring中的 BeanFactory和 ApplicationContext的区别与解释

Spring中的 BeanFactory和 ApplicationContext的区别与解释

 

 

BeanFactory :这是一个工厂,用于生成任意bean。

           采取延迟加载第一次getBean时才会初始化Bean。

ApplicationContext:是BeanFactory的子接口,功能更强大。(国际化处理、事件传递、Bean自动装配、各种不同应用层的Context实现)。

    当配置文件被加载,就进行对象实例化。

看下面两个demo

下面这个是当配置文件被加载,对象就已经实例化了

复制代码
public void demo01(){
        //从spring容器获得
        String xmlPath = "com/itheima/b_di/beans.xml";
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
       BookService bookService
= (BookService) applicationContext.getBean("bookServiceId"); bookService.addBook(); }
复制代码

 

这个就是延迟加载的例子

复制代码
public void demo02(){
        //使用BeanFactory  --第一次调用getBean实例化
        String xmlPath = "com/itheima/b_di/beans.xml";
        
        BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource(xmlPath));
        
        BookService bookService = (BookService) beanFactory.getBean("bookServiceId");
        
        bookService.addBook();
        
    }
复制代码

 

posted on   Hennessy_Road  阅读(316)  评论(0编辑  收藏  举报

< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

统计

点击右上角即可分享
微信分享提示