必威体育Betway必威体育官网
当前位置:首页 > IT技术

坑人的context-param,让我记忆深刻

时间:2019-10-01 10:45:38来源:IT技术作者:seo实验室小编阅读:89次「手机版」
 

context-param

今天初次学习SpringMVC的时候,我跟着视频老师边听边做。按照老师的思想就是需要先用spring初始化一个父容器,用来管理一些底层公用的Bean,例如dao,service这些,然后用springMVC初始化一些上层的bean,例如controller,而springMVC本身就属于spring功能的一部分,他自己也有一个容器,是继承的spring父容器的一个子容器。那么父容器中的bean对于子容器就可用,反过来就不行。于是我分了spring的配置文件APPlicationcontext.xml和springMVC的配置文件mvc-dispatcher-servlet.xml.

在spring的配置文件applicationContext.xml中,我用注解扫描service的包,并且过滤掉controller,如

然后在springMVC的配置文件mvc-dispatcher-servlet.xml中配置扫描controller.

于是在web.xml中配置加载spring和springMVC-dispatcher的上下文以及相应的类

启动tomcat,出现问题了,发现本应该在父容器中实例化的service层的bean(test)无法注入到springMVC的子容器中的controller中,原因是该bean(test)未被实例化,

进一步测试发现spring好像就和没有启动一样,因为他要负责管理的底层公用的bean全都没有被实例化,而上层springMVC负责管理的controller全都被实例化了两次 。

于是我使尽各种昏招,改配置文件,怀疑配置文件没有被加载,或是spring没有启动成功,问题还是解决不了。就这样各种办法试了一个下午,最终才发现,原来是这里出了问题

他们的名字重复,导致前一个变量被后一个给覆盖了,改正,问题解决。

相关阅读

Web.xml中Context-param的作用

1.启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和<context-param></c

web.xml中context-param的配置作用

一、定义<context-param>  <param-name>参数名</param-name>  <param-value>参数值</param-value>  </context-param>作用:

分享到:

栏目导航

推荐阅读

热门阅读