设为首页 - 加入收藏 焦点技术网
热搜:java
当前位置:首页 >

如何处理SpringMVC Controller @Value取不到值

2016-04-01 14:08:45.0 java  
导读:如何处理SpringMVC Controller @Value取不到值。。。

问题:

SpringMVC中applicationContext.xml配置了config.properties属性文件,但在Controller中使用@Value取不到属性值

解决方法:

将config.properties再配置到dispatcher-servlet.xml中,原因如下:

  1. 这里spring mvc中使用了两个spring container, 一个是web root context另外一个是servlet context. (spring mvc可以配置多个servlet)

    1. applicationContext.xml defines the beans that are shared among all the servlets. If your application have more than one servlet, then defining the common resources in the applicationContext.xml would make more sense.

    2. dispatcher-servlet.xml defines the beans that are related only to that servlet. Here it is the dispatcher servlet. So, your Spring MVC controllers must be defined in this file.

  2. @Value由BeanPostProcessor处理,BeanPostProcessor的scope是per-container, 也就是在处理@Value过程中只取当前servlet容器的值


(编辑: gxchan)

网友评论
相关文章