两者实际上都是ioc容器。但它们之间的实际差异是什么?哪一个更好用?
答案 0 :(得分:3)
ApplicationContext派生自BeanFactory,以提供在Web应用程序中工作的附加功能。
只需编写
即可实例化弹簧容器ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
或
ApplicationContext context = new ClassPathXmlApplicationContext{"spring_dao.xml","spring_service.xml};
您可以根据项目要求使用一个或多个xml文件。因为我在这里使用两个xml文件,即一个用于dao类的服务类的配置细节。这里ClassPathXmlApplicationContext是ApplicationContext的子代。
为了更好地了解差异,您可以查看http://docs.spring.io/spring/docs/2.5.x/reference/beans.html#context-introduction-ctx-vs-beanfactory网站。
在BeanFactory和ApplicationContext之间进行选择也取决于您希望如何加载bean。
除非您需要节省资源,否则首选ApplicationContext,例如在移动应用程序上。
答案 1 :(得分:1)
BeanFactory和Application都用于管理bean的生命周期,ApplicationContext可以完成BeanFactory与AOP,Event等一起做的所有事情。
除非资源至关重要,否则请转到ApplicationContext。