ApplicationContext的三个常用实现类
- classPathXmlApplicationContext: 它可以加载路径下的配置文件,要求配置文件必须在类路径下。不在的话加载不了
- FileSystemXmlApplicationContext: 它可以加载磁盘任意路径下的配置文件件(必须有访问权限)
- AnnotationConfigApplicationContext:它是用于读取注解创建容器的
核心容器的两个接口引发出的问题:
1、 ApplicationContext: 单例对象适用
它在构建核心容器时,创建对象采取的策略是采用立即加载的方式。也就是说,只要一读取配置文件马上就创建文件中配置的对象。
2、BeanFactory: 多例对象适用
它在构建核心容器时,创建对象采取的策略是采用延迟加载的方式。也就是说,什么时候根据id获取对象了,什么时候才真正的构建对象。
代码
public static void main(String[] args){
//1.获取核心容器对象
//ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
//2.根据id获取Bean对象
//IAccountService as = (IAccountService)ac.getBean("accountService");
// IAccountDao adao = ac.getBean("accountDao",IAccountDao.class);
//System.out.println(as);
// System.out.println(adao);
//----------BeanFactory------
Resource resource = new ClassPathResource("bean.xml");
BeanFactory factory = new XmlBeanFactory(resource);
IAccountService as = (IAccountService)factory.getBean("accountService");
System.out.println(as);
}
}
来源:CSDN
作者:清_清
链接:https://blog.csdn.net/zh991993144/article/details/104900233