我对Spring Framework还比较新,一直在尝试使用它并编写了一些示例应用程序来评估Spring MVC是否适合我们公司即将启动的项目。到目前为止,我真的很喜欢Spring MVC中看到的东西,它似乎非常易于使用,并鼓励您编写非常适合单元测试的类。
就像一个练习,我正在为我的一个示例/测试项目编写主方法。我不清楚BeanFactory
和ApplicationContext
之间的确切区别-哪个适用于哪种情况?
我知道ApplicationContext
扩展了BeanFactory
,但是如果我只是编写一个简单的主方法,我需要ApplicationContext
提供的额外功能吗?ApplicationContext
提供了什么样的额外功能呢?
除了回答“我应该在main()方法中使用哪个”之外,还有哪些标准或指导方针可以在这种情况下选择哪种实现?我的main()方法是否应编写以依赖于XML格式的bean/application配置-这是一个安全的假设,还是我将用户锁定在某些特定的内容中?
并且,在Web环境中是否会更改此答案-如果我的任何类需要意识到Spring,它们是否更可能需要ApplicationContext
?
感谢您的帮助。我知道很多这些问题可能已在参考手册中回答,但是我很难找到这两个接口的清晰细分以及每个接口的优缺点,而不必仔细阅读手册。
BeanFactory
我们可以动态地传递构造函数参数,但是使用ApplicationContext
就不能这样做。 - Half Blood Prince