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的注解不支持静态的变量和方法

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