spring:ApplicationContext的三个实现类

* ApplicationContest的三个常用实现类
* ClassPathXmlApplicationContext:它可以加载类路径的配置文件,要求配置文件必须在类路径下,如果不在则加载不了
* FileSystemXmlApplicationContext:它可以加载磁盘任意路径下的配置文件(必须有访问权限)
* AnnotationConfigApplicationContext:它是用于读取注解创建容器的

* 核心容器的两个接口引发出的问题:
* ApplicationContext:单例对象适用
* 它在构建核心容器时,创建对象采取的策略是采取立即加载的方式。也就是说,只要一读取完配置文件马上就创建配置文件中配置的对象
* BeanFactory:    多例对象适用
* 它在构建核心容器时,创建对象采用的策略时采用延迟加载的方式。也就是说,什么时候根据id获取对象了,什么时候才真正创建对象
1         //1. 获取核心容器对象
2         ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
3         //2. 根据id获取Bean对象
4         IAccountService as = (IAccountService) ac.getBean("accountService");
5         //通过得到IAccountDao的字节码进行强转
6         IAccountDao ad = ac.getBean("accountDao",IAccountDao.class);     
1         Resource resource = new ClassPathResource("bean.xml");
2         BeanFactory factory = new XmlBeanFactory(resource);
3         IAccountService accountService = (IAccountService) factory.getBean("accountService");

猜你喜欢

转载自www.cnblogs.com/flypig666/p/11511498.html