一尘不染

BeanFactory与ApplicationContext

spring

我对Spring Framework还是很陌生,我一直在研究它,并将一些示例应用程序放在一起,以评估Spring MVC以便在即将到来的公司项目中使用。到目前为止,我非常喜欢我在Spring MVC中看到的内容,它似乎非常易于使用,并鼓励您编写对单元测试非常友好的类。

作为练习,我正在为我的一个样本/测试项目编写一种主要方法。我不清楚的一件事是BeanFactory和之间的确切差异ApplicationContext-在哪种条件下适合使用?

我知道可以ApplicationContext扩展BeanFactory,但是如果我只是编写一个简单的main方法,是否需要ApplicationContext提供的额外功能?究竟提供什么样的额外功能ApplicationContext

除了回答“我应该在main()方法中使用哪个”之外,在这种情况下我应该使用哪种实现还有任何标准或准则?是否应该将main()方法编写为依赖于XML格式的bean /应用程序配置-这是一个安全的假设,还是我将用户锁定在特定的位置?

并且此答案在Web环境中是否会更改-如果我的任何一个类需要了解Spring,是否更有可能需要它们ApplicationContext

谢谢你的帮助。我知道参考手册中可能会回答很多这样的问题,但是我很难找到这两个接口以及每个接口的优缺点的清晰细目,而没有用细齿梳子通读手册。


阅读 399

收藏
2020-04-11

共1个答案

一尘不染

Bean Factory

  • Bean实例化/接线

应用环境

  • Bean实例化/接线
  • 自动BeanPostProcessor注册
  • 自动BeanFactoryPostProcessor注册
  • 方便的MessageSource访问(适用于i18n)
  • ApplicationEvent发布

因此,如果你需要在“应用程序上下文”侧显示的任何要点,则应使用ApplicationContext。

2020-04-11