【发布时间】:2014-03-26 00:09:09
【问题描述】:
两者实际上都是 ioc 容器。但是它们之间的实际区别是什么?哪个更好用?
【问题讨论】:
-
这个问题与question 243385重复。
标签: spring ioc-container
两者实际上都是 ioc 容器。但是它们之间的实际区别是什么?哪个更好用?
【问题讨论】:
标签: spring ioc-container
ApplicationContext 派生自 BeanFactory 以提供在 Web 应用程序中工作的附加功能。
你可以通过编写来实例化你的spring容器
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 是首选,除非您需要节省资源,例如在移动应用程序上。
【讨论】:
BeanFactory 和 Application 都用于管理 bean 的生命周期,ApplicationContext 可以完成 BeanFactory 以及 AOP、Event 等所做的所有事情。
除非资源至关重要,否则选择 ApplicationContext。
【讨论】: