【发布时间】:2014-09-01 17:16:39
【问题描述】:
我是新的 spring mvc 并试图了解一些基础知识。 有些事情对我来说很清楚,但我仍然对 Spring 基础知识有一些疑问。
首先让我把我清楚的事情说出来。(如果我错了,请反对我)。
spring mvc中有两种xml文件:rootApplicationContext.xml和webApplicationContext.xml
web.xml 中的context-param 标记定义了rootApplicationContext.xml 具有 DispatcherServlet(充当表单控制器)的 servlet 标记定义了 webApplicationContext.xml 参数, 并且 rootApplicationContext 的 bean 在所有 webApplicationContext.xml 文件中都是可访问的
应用程序所有部分所需的功能(如休眠和 DAO 配置)都写在 rootApplicationContext 中
现在这是我的问题:
(1)我认为 rootApplicationContext 是在应用程序加载时加载的,而 webApplicationContext 是在加载 DispatcherServlet 类时加载的。 那么 DispatcherServlet 类是什么时候加载的呢?
(2)controller-action的对象是在什么时候创建的,是在应用加载时还是在调用时?
(3)为控制器动作、单例或原型创建了哪种类型的对象?
(3)哪个xml应该包含filter、interceptor、AOP类的bean定义,为什么?
对于我的一些疑问,参考了 spring 文档,但我仍然有一些疑问。
谢谢
【问题讨论】:
-
您的问题要回答的问题太多了,而且都是重复的。只需在此网站上进行一些搜索即可。
-
也请尝试使用Spring Boot 和很棒的guides at Spring.io。有关现代 Spring 配置提示,请参阅 spring-boot-autoconfigure 的来源。
标签: java spring spring-mvc