栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java手记:Spring中BeanFactory和ApplicationContext的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java手记:Spring中BeanFactory和ApplicationContext的区别

Spring中BeanFactory和ApplicationContext的区别

记得有个视频详细讲过,结果找不到了,好像被删了。

BeanFactory: 原生的,不是给我们开发用的。在调用 getBean() 的时候才会创建对象。

ApplicationContext: 这个是个接口,是 BeanFactory 的子,可以实现更多。在加载xml的时候就会创建对象了,目前大都采用这个。

创建一个 Bean进行测试

public class Stu {
    public Stu(){
        System.out.println("stu...构造函数");
    }
}    

创建一个测试类:
xml文件


@Test

public void testStu(){
    Resource resource = new ClassPathResource("bean3.xml");
    BeanFactory context = new XmlBeanFactory(resource);
    System.out.println("还未获取Bean");
    Stu stu = context.getBean("stu", Stu.class);
}    

结果输出:

很明显,读取了配置,但是对象还没创建,如果读取时候就创建,那么构造函数就会先执行了。

@Test
public void testStu(){
    ApplicationContext context1 = new ClassPathXmlApplicationContext("bean3.xml");
    System.out.println("还未获取Bean");
    Stu stu1 = context1.getBean("stu", Stu.class);
}

结果输出:

说明在读取xml的时候,对象就已经创建了,因为执行了构造函数。然后再执行 "还未获取Bean"的输出。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/282579.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号