spring 根上下文和 spring dispatcherServlet 上下文的关系
来源:互联网 发布:linux安装service命令 编辑:程序博客网 时间:2024/05/17 04:53
目前的工作中使用了spring mvc,这样在web.xml中就多了一个不同的配置
<servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/dispatcher-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>这里有个contextConfigLocation,同时在web.xml中有个全局的contextConfigLocation
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext.xml </param-value></context-param>
以及
<listener> <listener-class>org.springframework.web.util.WebAppRootListener</listener-class> </listener>对这几个配置,一直存在疑惑,今天经过查阅资料和同事讨论后,对这些配置逐渐理解,同时弄明白了之前service事务配置的疑问。
spring自身存在父子上下文的概念,首先要了解什么是上下文,可以理解为bean的容器。启动时首先是配置的listener即WebAppRootListener初始化父上下文,上述全局的contextConfigLocation为初始化这个根上下文使用。
然后初始化DispatcherServlet,这时使用配置在这个servlet上的contextConfigLocation初始化这个子上下文,这个子上下文将上述的根上下文作为父上下文。这里要说明一下,子上下文可以访问父上下文中的bean,反之,则不行。一般情况下controller相关的bean或者对应的注解扫描配置在这个子上下文中,而service、dao的bean或者对应的注解扫描配置在根上下文中。
这里顺便提一下,对应service的事务配置显然是需要放置根上下文对应到配置文件中。
世界之大,避无可避。
0 0
- spring 根上下文和 spring dispatcherServlet 上下文的关系
- spring上下文和springMVC上下文的关系
- springMVC(13) springMVC和spring上下文关系
- web spring springmvc上下文关系
- Spring的应用上下文
- Spring上下文
- Spring上下文
- contextLoaderListener和dispatcherServlet初始化上下文的区别
- web上下文,spring上下文,springmvc上下文
- Spring上下文Bean的生命周期
- Spring容器上下文的关闭
- Spring与web MVC的整合——Spring的应用上下文管理 -- DispatcherServlet与ContextLoaderListener解释
- Spring 容器(Spring 的上下文)
- spring源码分析-spring上下文的初始化
- spring上下文,spring mvc上下文,以及servlet上下文的关联以及理解
- 转:spring上下文,spring mvc上下文,以及servlet上下文的关联以及理解
- 在SpringMVC的Controller中获取spring上下文和springMVC上下文
- web项目的servlet和filter中获取spring上下文
- pom.xml 配置详解
- Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
- delphi superobject循环节点
- C++中的::操作符
- IOS开发中遇到的各种问题
- spring 根上下文和 spring dispatcherServlet 上下文的关系
- python文件处理
- 样式选择器的使用方法&优先级问题
- block
- Unity3d Preferences参数详解
- java性能优化之三 优雅平滑的结束quarts 任务
- linux常用vim命令
- UILabel上文字的自适应
- C++之嵌套类与外围类及友元