使用Spring Boot開發微信企業號時,在配置微信的一些固定參數的時候,
使用@Value註解取值失敗,返回值爲null。
原取值方式如下所示:
//微信appid
@Value("${wechat.sCorpID}")
public static String sCorpID;
//微信secret
@Value("${wechat.appSecert}")
public static String wechatSecret;
產生原因:在SpringBoot中使用@Value只能給普通變量賦值,不能給靜態變量賦值
解決方法:給靜態變量增加一個非靜態的set方法,注意需要把@Value註解寫到對應的set方法上,而不是定義的靜態變量上,如下所示:
//微信appid
public static String sCorpID;
@Value("${wechat.sCorpID}")
public void setSCorpID(String sCorpID) {
WechatConfig.sCorpID = sCorpID;
}
//微信secret
public static String wechatSecret;
@Value("${wechat.appSecert}")
public void setWechatSecret(String wechatSecret) {
WechatConfig.wechatSecret = wechatSecret;
}