web.xml和XXX-servlet.xml初始化上下文关系和区别

参考:web.xml详解

      ContextLoaderListener初始化的上下文加载的Bean是对于整个应用程序共享的,一般如:DAO层、Service层Bean;DispatcherServlet初始化的上下文加载的Bean是只对Spring MVC有效的Bean,如:Controller、HandlerMapping、HandlerAdapter等,该初始化上下文只加载Web相关组件。

   注意:用户可以配置多个DispatcherServlet来分别处理不同的url请求,每个DispatcherServlet上下文都对应一个自己的子Spring容器,他们都拥有相同的父Spring容器(业务层,持久(dao)bean所在的容器)。

springmvc就是管理controller对象的容器,spring就是管理service和dao的容器,所以我们在springmvc的配置文件里配置的扫描路径就是controller的路径,而spring的配置文件里自然配的就是service和dao的路径

遇到问题:在项目web.xm的<context-param>配置的applicationContext.xml中配置了.properties文件,

<context:property-placeholder location="classpath:config/fxt/server.properties"></context:property-placeholder>
test-server-api.url=http://localhost:8761/hiServer

然后写controller时使用@value注入properties文件中的key,却取不到值,在service层可以取到

@Value("${test-server-api.url}")
private String testUrl;

 

解决办法:

在XXX-servlet.xml中加入配置,即可解决

<context:property-placeholder ignore-unresolvable="true" location="classpath:config/fxt/server.properties"></context:property-placeholder>

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值