【问题标题】:Difference between BeanFactory and ApplicationContext? [duplicate]BeanFactory 和 ApplicationContext 的区别? [复制]
【发布时间】:2014-03-26 00:09:09
【问题描述】:

两者实际上都是 ioc 容器。但是它们之间的实际区别是什么?哪个更好用?

【问题讨论】:

标签: spring ioc-container


【解决方案1】:

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 是首选,除非您需要节省资源,例如在移动应用程序上。

【讨论】:

    【解决方案2】:

    BeanFactory 和 Application 都用于管理 bean 的生命周期,ApplicationContext 可以完成 BeanFactory 以及 AOP、Event 等所做的所有事情。

    除非资源至关重要,否则选择 ApplicationContext。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      • 2013-10-15
      • 1970-01-01
      • 2012-03-23
      • 1970-01-01
      • 2017-03-31
      相关资源
      最近更新 更多