Spring boot @Value 不适用于静态字段

5 java spring annotations

我正在尝试从 Spring Boot 的属性文件中获取价值。 application.properties文件位于资源文件夹下,及其内容;

TEST=someText
Run Code Online (Sandbox Code Playgroud)

代码是;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.PropertySource;

@SpringBootApplication
@PropertySource("classpath:application.properties")

public class Bb8Application {


    @Value("${TEST}")
    static String someString;

    public static void main(String[] args) {

        System.out.print(someString);

    }

}
Run Code Online (Sandbox Code Playgroud)

结果我得到 NULL 而不是“someText”。有什么我想念的吗?

Mar*_*k J 7

Spring 不允许注入静态字段。如果你真的想使用静态变量,你可以试试这个解决方法