参考: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>