我是Spring Framework的新手,我一直在玩它并将一些示例应用程序放在一起,以便评估Spring MVC以用于即将到来的公司项目.到目前为止,我非常喜欢我在Spring MVC中看到的内容,看起来非常容易使用,并鼓励您编写非常适合单元测试的类.
就像练习一样,我正在为我的一个示例/测试项目编写一个主要方法.我不清楚的一件事是BeanFactory和之间的确切差异ApplicationContext- 适合在哪些条件下使用?
我理解ApplicationContext扩展BeanFactory,但如果我只是编写一个简单的主方法,我是否需要ApplicationContext提供额外的功能?究竟是什么类型的额外功能ApplicationContext提供了?
除了回答"我应该在main()方法中使用哪个"之外,对于在这种情况下我应该使用哪种实现,是否有任何标准或指南?我的main()方法是否应该依赖于bean /应用程序配置以XML格式编写 - 这是一个安全的假设,还是我将用户锁定为特定的东西?
这个答案是否会在网络环境中发生变化 - 如果我的任何课程需要了解Spring,他们是否更有可能需要ApplicationContext?
谢谢你的帮助.我知道很多这些问题可能在参考手册中得到了解答,但是我很难找到这两个界面的明确细分以及每个界面的优点/缺点而不通过精细梳齿阅读手册.
背景
由于Spring MVC设计了standered servlets,并促进相同的功能servlet context和application context.在春季存在两种类型的上下文ApplicationContext和WebApplicationContext-
ApplicationContext初始化ContextLoaderListener,每个应用程序的单个实例.
WebApplicationContext每个人加载DispatcherServlet.
我们可以理解上面这样ApplicationContext延伸,WebApplicationContext所以ApplicationContext最终与之相关的东西都是其中的一部分WebApplicationContext.
疑惑
ApplicationContextAware提供哪个context对象.
public class SomeThing implements ApplicationContextAware{
@Override
public void setApplicationContext(ApplicationContext ctx) throws BeanException{
//this context object is `ApplicationContext` or `WebApplicationContext`?
}
}
Run Code Online (Sandbox Code Playgroud)context并且container似乎是我们大多数人的同义词,我想举个例子.假设我们有两个调度程序servlet一个用于
rest和另一个用于mvc.
第一个调度员 -
public class …Run Code Online (Sandbox Code Playgroud)