BeanFactory和ApplicationContext的区别
程序员文章站
2022-05-24 11:29:31
...
BeanFactory和ApplicationContext的区别
-
通过类视图我们可以看出,BeanFactory是Spring中IoC容器的顶层接口,而ApplicationContext是它的一个子接口,所以ApplicationContext具备BeanFactory提供的全部功能。
通常情况下,我们称BeanFactory是Spring的IoC基础容器。而ApplicationContext是容器的高级接口,它比BeanFactory多了很多重要的功能。例如,父子容器的概念(在SpringMVC课程中讲解),AOP的支持,消息发布机制,事件处理机制,国际化和资源访问等等。
-
BeanFactory 和 ApplicationContext 的区别:
- 创建对象的时间点不一样。
- ApplicationContext:只要一读取配置文件, 默认情况下就会创建对象。
- BeanFactory:什么使用什么时候创建对象
- 创建对象的时间点不一样。
ApplicationContext 接口的实现类
- ClassPathXmlApplicationContext:
- 它是从类的根路径下加载配置文件,推荐使用这种
- FileSystemXmlApplicationContext:
- 它是从磁盘路径上加载配置文件,配置文件可以在磁盘的任意位置
- AnnotationConfigApplicationContext :
- 当我们使用注解配置容器对象时,需要使用此类来创建 spring 容器。它用来读取注解
代码演示
// 创建容器对象,加载配置文件
ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
//从容器获取对象
Object obj = ac.getBean("accountService");
System.out.println(obj);
上一篇: 给定一个字符串,删除字符串里面的回文属性
下一篇: springMVC 国际化