前言
Spring
框架中ApplicationContext
与BeanFactory
的区别。其中,BeanFactory
为ApplicationContext
的父类,是一种继承关系,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
接口来加载配置文件并创建对象。