枚举变量与属性值

时间:2018-02-21 10:09:25

标签: java spring enums properties

我想在我的Enum中有一个变量,该值是从application.properties文件中获得的。是否有可能做到这一点? 枚举:

public enum T {
    A;

    @Value("${test}")
    private String test;

}

从控制器到测试的映射:

@RequestMapping("/")
public String main() {
    T t = T.A;
    return "Greetings from Spring Boot!";
}

属性:

test = test

现在当我打电话给T.A时,它是空的。我需要它来读取属性,因为在应用程序运行的每个服务器上,此变量应该是不同的。

1 个答案:

答案 0 :(得分:0)

您的枚举不是组件,因此您无法使用@Value

就像M. Deinum所说:枚举是静态的,因此它们不会在你的Spring环境中连线。

您可以直接在控制器中连接@Value

@Value("${test}")
private String test;

@RequestMapping("/")
public String main() {
   System.out.println(test);
   return "Greetings from Spring Boot!";
}