Spring体系结构
ApplicationContext的三个常用实现类:
- ClassPathXmlApplicationContext: 可以加载类路径下的配置文件,要求配置文件必须在类路径下。不在的话,加载不了。(更常用)
ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
- FileSystemXmlApplicationContext:可以加载磁盘任意路径下的配置文件(必须有访问权限)
ApplicationContext ac = new FileSystemXmlApplicationContext("C:\\Users\\......");
- AnnotationConfigApplicationContext:用于读取注解创建容器
核心容器的两个接口引发出来的问题
- ApplicationContext:在创建核心容器时,创建对象采取的策略是采用立即加载的方式,也就是说,只要一读取完配置文件就马上创建配置文件中配置的对象。
●单例对象适用
●开发中常采用此接口 - BeanFactory:在构建核心容器时,创建对象采取的策略是采用延迟加载的方式。也就是说,什么时候根据id获取对象了,什么时候才真正的创建对象。
●多例对象适用
BeanFactory才是Spring容器中的顶层接口
ApplicationContext是它的子接口