在controller中无法通过注解@Value获取到配置文件中定义的值解决办法

使用springMVC的朋友,有时候可能会遇到以下问题:

想在controller中使用@Value指定变量,但是无法得到对应的值。而在server层获取,是正常的。
解决方案:
1:在srping-mvc.xml 加上以下配置。相当于在springmvc配置文件中也读取properties文件,这样controller就访问自己容器中的数据
<context:property-placeholder location="classpath:config.properties" ignore-unresolvable="true" />
2:在父容器中注册一个公用Bean,然后把配置文件的值注入到这个Bean中

因为Service层的对象是有Spring容器创建,因此我们定义一个Component: AccOauthUtils,注入进来属性用public修饰

@Component
public class AccOauthUtils {

@Value("${accStatus}")
public String accStatus;

在controller注入(必须通过@Autowired注解,通过new AccOauthUtils的形式无法获取值):

@Autowired
private AccOauthUtils accOauthUtils;

再通过 accOauthUtils.accStatus获取

原文地址:https://blog.51cto.com/1008610086/2376574

时间: 2024-10-10 08:45:19

在controller中无法通过注解@Value获取到配置文件中定义的值解决办法的相关文章

CI获取自定义配置文件中的二维配置数组

CI获取自定义配置文件中的二维配置数组:如:在admin.php配置文件中有如下配置:$config['admin_menu'][] = array( 'name' => '商品管理', 'c' => 'goods', 'a' => 'lists', 'icon'=>' icon-gift', 'item' => array( //商品 0 => array('name' => '商品列表', 'c' => 'goods', 'a' => 'lists

SQL语句中,Conversion failed when converting datetime from character string.错误的解决办法

在项目开发过程中,我们经常要做一些以时间为条件的查询,比如查询指定时间范围内的历史记录,然而这些时间都是从UI传递过来的参数,所以我们写的sql语句就必须用到字符串拼接.当然,在C#中写SQL语句还好处理,可以使用C#的字符串函数做对应的数据类型转换.但是,如果用的是存储过程的话,就有点纠结了.下面来说一下我在写存储过程中遇到的问题: 为了更加直接的说明问题,写如下一个简单的例子: declare @dateFrom datetime; declare @dateTo datetime; dec

ios7 中代码创建 ScrollView TextView 等,默认向下缩进的解决办法

这个问题,记得以前困扰了好久.表现出来的现象就是 ScrollView 中的 ContentView 会往下移动一段距离,现在 textView 也是如此,会自动将光标下移. 后来发现这个距离差不多是 NavigationBar 的高度,才从这里找问题,最终找到了. @property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets NS_AVAILABLE_IOS(7_0); // Defaults to YES 需要设置

将数据保存在web.config配置文件中,及如何获取config配置文件中的数据

<1> 有的数据需要写到配置文件中的.我们就尽量写到配置文件中来.比如经常变动的数据 ,或者用户时候的时候只要改改配置文件就可以了用了的值,如:ip地址.端口号,MD5加盐.等等.我们可以将这些值写入到web.config文件中来.在webForm.aspx.cs页面,或者其他页面去获取这个值就可以了 注意是在<appSettings></appSettings>文件中进行配置. <?xml version="1.0" encoding=&qu

随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value

利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一个计数器,对Set进行循环,当计数器等于随机数时返回当前元素,对于Map的处理也类似. 不知有没有更好的方法-- package com.xjj.util; import java.util.List; import java.util.Map; import java.util.Set; impo

JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法

今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题. 做了一个实验: alert(parseInt("01")),当这个里面的值为01====>07时都是正常的,但是在"08","09"就会返回0 (这种现象出现在ie内核的浏览器中,如360浏览器就会出现这种错误)(谷歌,火狐不受影响). 查阅资料得知着这种现象原因: 大神的解释: 01--07自然没有问题,但是09,08都是不合格的八进制形式,所以被按照0处理了.

UiAutomatorViewer无法获取手机截图进行元素定位的解决办法

问题描述 本来想使用UIAutomatorView定位app页面元素的,最开始我使用的是夜神模拟器,打开UIAutomatorView连接模拟器没有问题,但是后来我使用真机时发现无法连接到真机获取真机的截图,具体报错信息如下 解决办法 1. 在任意盘的根目录(不是根目录也没问题)新键app.png 与app.uix 两个文件(我这里放在的E盘下面) 2. 打开CMD按照顺序执行下面的命令 adb shell uiautomator dump /sdcard/app.uix     #  把当前窗

在CentOS中安装32位或64位MySql报错error: Failed dependencies解决办法

在CentOS中安装MySql报错error: Failed dependencies解决办法 安装64位MySql报错内容如下:error: Failed dependencies:        libaio.so.1()(64bit) is needed by MySQL-server-5.6.19-1.el6.x86_64    libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.6.19-1.el6.x86_64    

针对在webview模式中,小米魅族手机不支持html5原生video的control的解决办法![原创]

其实,解决办法就是,重新写个control控制功能,.同样用流行的video.js可以实现,但是俺偏不用啊,偏要自己写啊...ps:真贱! 第一步就是增加个播放的图片..要不然没有按钮多难看! <div class="videoDiv"> <video id="video" poster="" preload="metadata" width="100%" height="100