如何处理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容器的值


转载于:https://my.oschina.net/gxchan/blog/651301

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值