@Value失效问题
@Value失效的四种原因:
1.不能作用于静态变量;
2.不能作用于常量;
3.不能在非注册的类中使用;
4.使用这个类时,只能通过依赖注入的方式,用new的方式是不会自动注入这些配置的。
@Value注入静态变量失效解决办法:使用set()方法注入
//@Value("${empi.pushMsg.url}") private static String wsdlUrl; //@Value("${empi.pushMsg.namespace}") private static String np; //使用nacos封装后的@NacosValue注解,并指定autoRefreshed的属性为true时,当nacos服务端更新时后台会动态刷新配置内容 //@Value("${empi.pushMsg.url}") @NacosValue(value = "${empi.pushMsg.url}",autoRefreshed = true) public void setWsdlUrl(String wsdlUrl) { EmpiUtil.wsdlUrl = wsdlUrl; } //@Value("${empi.pushMsg.namespace}") @NacosValue(value = "${empi.pushMsg.namespace}",autoRefreshed = true) public void setNp(String np) { EmpiUtil.np = np; }