Spring中BeanFactory与ApplicationContext区别

二者都是从Spring容器中获取bean的,个人理解为懒加载和预加载的区别。
BeanFactory为懒加载,在调用getBean时才实例化Bean,
使用方式如下:

XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring.xml"));
factory.getBean("bean");

ApplicationContext间接继承了BeanFactory,自动加载
使用方式如下:

ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
context.getBean("bean");

一般企业级应用使用ApplicationContext,在内存要求高的环境中使用轻量的BeanFactory

你可能感兴趣的:(JavaWeb)