[解决] springmvc 初始化两次WebApplicationContext
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[解决] springmvc 初始化两次WebApplicationContext相关的知识,希望对你有一定的参考价值。
参考技术A 在调试定时任务的时候,发现每次定时任务,会debug两次,后来在定时任务类加上了构造方法,sysout一句话,这时候发现该实例创建了两次,再仔细一看发现 信息: Initializing Spring root WebApplicationContext 这句话在控制台也打印了两次,也就是说spring 被加载了两次。虽然加载了两次spring,到目前为止还没发现对系统有什么明显影响,但是性能上肯定是有问题的,在完美主义强迫症的驱使下我决定解决这个问题。
http://blog.csdn.net/chaijunkun/article/details/6925889
该博主的 web.xml 配置如下
他在这两处都加载了 applicationContext*.xml 所以导致spring 初始化两次,网上有说删掉 contextConfigLocation 以及 ContextLoaderListener 这组配置,个人不推荐这种做法。
参考了之间的springmvc项目,简单的来说就是这两处指定,分别加载不同的配置文件,这样就不会出现bean重复加载的问题了!(小弟对spring 架构知识 知之深浅,个人薄见,仅供参考)
我在检查了我的 web.xml 之后,并没有发现上述问题。百度后结论,tomcat也会导致spring加载两次。
具体原因有待详细考证,有知道朋友可以告诉我一下。
设置不使用默认的 webapps
根据上述配置后 server.xml 的变化(docBase="绝对路径"),在linux环境下,不知道会不会奏效,windows下实测没有问题!在确认之后,我会给出答案!
解决,恢复正常
以上是关于[解决] springmvc 初始化两次WebApplicationContext的主要内容,如果未能解决你的问题,请参考以下文章
ApplicationListener接口中的onApplicationEvent被调用两次解决方式
spring项目的 WebApplicationContext 初始化两次的解决方法
今天整合springMVC+Mybatis时tomcat启动初始化报错一直解决不了,哪位大哥能帮帮我啊万分感谢