springboot使用@value注入yml中的數據爲空

問題

yml中:

hosts:
  sso: http://localhost:8503

類中:

@Value("${hosts.sso}")
private static String HOSTS_SSO;

debug發現這裏的HOSTS_SSO爲null,沒有注入進來

解決

檢查類的上面有沒有@Component註解。。。有
百度發現是static的問題。
寫一個HOSTS_SSO的set方法:

    private static String HOSTS_SSO;

    @Value("${hosts.sso}")
    public void setHostsSso(String hostsSso) {
        HOSTS_SSO = hostsSso;
    }

注意這個setter方法不能是靜態的!!!,將 @Value放在該方法上,成功注入

Spring的註解不支持靜態的變量和方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章