beanFactory 与 ApplicationContext的区别
Beanfactory:创建容器对象时,只是加载了配置文件,没有创建对象
只有获取对象时,才会创建对象
ApplicationContext:
(默认单例模式)创建容器对象时,创建对象,(常用,因为项目启动会时就能检查错误。而beanFactory需要用到该方法后才能检查错误,不利于开发)
补充:单例模式情况下-->ApplicationContext创建容器对象时,创建对象
多例例模式情况下-->ApplicationContext创建容器对象时,不创建对象。只有获取的时候,才会创建
=====================
/*beanFactory*/
=====================
public void testBeanFactory() {
Resource resource = new ClassPathResource("beans.xml");
BeanFactory beanFactory = new XmlBeanFactory(resource);
// class="***"有误时,如果不执行下面的获取对象方法,程序不报错。只有获取对象时才会报错。
Object userDao = beanFactory.getBean("userDao");
System.out.println(userDao);
}
/*ApplicationContext*/
public void testApplicationContext() {
// class="***"有误时,只要创建容器对象,程序就会报错。
ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml");
Object userDao1 = ac.getBean("userDao");
System.out.println(userDao1);
}