Spring框架中ApplicationContext与BeanFactory的区别

前言

Spring框架中ApplicationContextBeanFactory的区别。其中,BeanFactoryApplicationContext的父类,是一种继承关系,ApplicationContext的功能要强于BeanFactory

创建实例的区别

以下是两个接口创建实例的方法:

ApplicationContext context =
    new FileSystemXmlApplicationContext("classpath:app.bean1.xml");
BeanFactory context =
    new ClassPathXmlApplicationContext("app.bean1.xml");
		
User user = context.getBean("user",User.class);

1、BeanFactory:容器基本实现,加载配置文件的时候不会创建对象,在获取对象(使用)才会创建对象。也就是到User user = context.getBean("user",User.class);这一步的时候才会常见对象。

2、ApplicationContext:子接口,加载配置文件的时候就会把在配置文件中的对象进行创建。即在ApplicationContext context = new FileSystemXmlApplicationContext("classpath:app.bean1.xml");这一步加载配置文件的时候就会创建对象。

总结

为了在服务器启动的时候就能把费时的对象创建操作执行完成,在一般使用Spring框架编写程序的时候使用ApplicationContext接口来加载配置文件并创建对象。

猜你喜欢

转载自blog.csdn.net/jerrygaoling/article/details/108624599