温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-17 11:18:05 来源:网络 阅读:2995 作者:阿山哥258 栏目:编程语言

使用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获取

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI