springboot下Static变量通过@Value和set方法注入失败的问题和解决办法

首先static变量是不能直接使用@value进行注入。
但是也不是没有办法。操作如下:
1.在这个变量的类上标上注解@Component
在这里插入图片描述

2.通过set方法就可以,给在set方法上使用@Value注入。前提是set方法也不能是static类型的。如下:
public static int dataFrameLength;

public  int getDataFrameLength() {
    return dataFrameLength;
}

@Value("${dataFrameLength}")
public  void setDataFrameLength(int dataFrameLength) {
    Init.dataFrameLength = dataFrameLength;
}

但是我不知道什么原因即使我这样做了也会注入失败。

我的解决办法,在另一个类Init中进行注入,然后从Init中拿过来。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39286701/article/details/121678481