spring 配置文件被加载两次
2024-08-21 23:40:50
如下web.xml示例:
1.用spring的配置加载contextConfigLocation
2.配置spring-mvc的contextConfigLocation
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-*.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring-mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-*.xml</param-value>
</context-param>
看了配置,spring下面的文件在springmvc中加载了一次,在context中又加载了一次。
从启动日志和启动时长可以看到。 补充:重复加载还会导致配置的task,schadule任务重复执行!
所以,合理的做法是,把spring-mvc的定义单独摘出来定义在web容器启动的时候加载,名称也换成servlet-mvc.xml避免被spring重复加载, 而在spring的core xml定义中,不要出现mvc的东东
<servlet>
<servlet-name>spring-mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--查找controller位置的xml文件配置 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<!--查找这里可以配置多个,用逗号分割或者用通配符*也就是第二行 -->
<param-value>/WEB-INF/classes/servlet-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
springmvc的xml单独配置出来,spring本身管spring的,springmvc管springmvc的,这样就ok了
总结:该分开配置的不要合在一起。注意代码使用
最新文章
- 在JS中关于堆与栈的认识function abc(a){ 	a=100; } function abc2(arr){ 	arr[0]=0; }
- 算术表达式解析(第二版) C++11版
- SpringSide 部署showcase项目出现 JAX-RS (REST Web Services) 2.0 can not be installed错误!
- Java的整个字符串的结束索引在最后一个字符之外
- 巧用开发者工具的控制台来调试页面中的js语句
- Nginx开启Gzip压缩大幅提高页面加载速度
- poj 1062(有限制的最短路)
- lintcode:打劫房屋II
- batchExportPNG.py不是我的代码
- Android 用Activity的onTouchEvent来监听滑动手势
- SULogger:iOS日志可视化工具
- thinkphp3.2.3 成功对接支付宝接口
- CDZSC_2015寒假新人(2)——数学 C
- Eclipse用法和技巧十四:自动生成的TODO注释2
- ZOJ 1584:Sunny Cup 2003 - Preliminary Round(最小生成树&;amp;&;amp;prim)
- JVM的参数详解(转)
- 6.跑步者--并行编程框架 ForkJoin
- Power Spectral Density
- 前端-JavaScript1-5——JavaScript之变量的类型
- Android APK反编译详解(附图) (转)