首先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中拿过来。