Springboot 项目使用@Value(““)获取不到配置参数
温馨提示:
本文最后更新于 2022年11月02日,已超过 780 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
问题描述:在项目中,通常会用一个配置类来接收并管理项目中的配置参数,并且该类的属性值都是静态的,但是使用@Value("")不能直接将获取到的yml文件中的配置参数直接赋值给静态属性,可以参考如下的解决办法:
全局配置类
package com.hcy.message.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
/**
* @Description 系统参数配置
* @Author lijunjie
* @CreateDate 2020/9/21 13:17
* @UpdateUse
* @UpdateDate
* @UpdateRemark
* @版本 1.0
**/
@Component
public class SystemConfig {
/**********************************短信服务配置参数**************************/
public static String SMS_URL; //短信接口地址
public static String SMS_LOGIN_METHOD; //登录方法名称
public static String SMS_LOGIN_USER_NAME; //登录用户名
public static String SMS_LOGIN_PASSWORD; //登录密码
public static String SMS_SEND_SMS_METHOD; //发送短信的方法
@Value("${sms.url}")
public void setSmsUrl(String smsUrl) {
SMS_URL = smsUrl;
}
@Value("${sms.loginMethod}")
public void setSmsLoginMethod(String smsLoginMethod) {
SMS_LOGIN_METHOD = smsLoginMethod;
}
@Value("${sms.loginUserName}")
public void setSmsLoginUserName(String smsLoginUserName) {
SMS_LOGIN_USER_NAME = smsLoginUserName;
}
@Value("${sms.loginPassword}")
public void setSmsLoginPassword(String smsLoginPassword) {
SMS_LOGIN_PASSWORD = smsLoginPassword;
}
@Value("${sms.sendSmsMethod}")
public void setSmsSendSmsMethod(String smsSendSmsMethod) {
SMS_SEND_SMS_METHOD = smsSendSmsMethod;
}
}
yml 文件中的配置格式如下
# 短信接口配置
sms:
url: http://127.0.0.1:8888//SMSSendInterface
loginMethod: login
loginUserName: admin
loginPassword: admin
sendSmsMethod: sendShortMessDir
正文到此结束
- 本文标签: Spring
- 本文链接: http://www.365codemall.com/article/10
- 版权声明: 本文由李俊杰原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权