@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;
    }

 

posted @ 2022-08-12 16:06  永远的萌新  阅读(2763)  评论(0编辑  收藏  举报