ApplicationContext和BeanFactory两个接口的区别:
- ApplicationContext:它在创建核心容器时,创建对象采取的是立即加载的方式,也就是说,只要一读取完配置文件马上就创建配置文件中的对象
ApplicationContext 是BeanFactory的子接口,它增添:
更容易与Spring的AOP特性集成
消息资源处理(用于国际化)
事件发布
特定的应用层环境,如用于web应用程WebApplicationContext。-
ApplicationContext的三个常用实现类
1.AnnotationConfigApplicationContext
它是用于读取注解创建容器2.ClassPathXmlApplicationContext
它可以加载类路径下的配置文件,要求配置文件必须在类路径下- FileSystemXmlApplicationContext
它可以加载磁盘任意路径下的配置文件(必须要有访问权限)
- FileSystemXmlApplicationContext
- BeanFactory:它在构建核心容器时,创建对象采取的是延迟加载的方式,也就是说,什么时候根据id获取对象了,什么时候才真正创建对象
简而言之,BeanFactory提供了配置框架和基本功能,而ApplicationContext添加了更多企业特定的功能。ApplicationContext是BeanFactory的一个完整超集,