springboot使用@Value注解给静态变量赋值

springboot项目开发中,遇到一个问题,使用@Value注解从配置文件动态获取属性的值

但是这个属性需要在static的方法中使用,就需要声明为static,

结果运行的时候无法获取配置文件的值

下面的写法是错误的

@Value("${bigDecimal.scale:10}") 

public static int bigDecimalScale;

下面的写法是正确,才可以获取到值,注意set方法不能是static的,set方法的形参不能跟属性名一样,可以随便起个名字

@Value("${bigDecimal.scale:10}")
    public void setBigDecimalScale(int scale) {
        MixRankerLtvCompare.bigDecimalScale = scale;
    }

    public static int bigDecimalScale;

 

posted on 2023-03-08 13:55  朱古力88  阅读(226)  评论(0编辑  收藏  举报