我想在我的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时,它是空的。我需要它来读取属性,因为在应用程序运行的每个服务器上,此变量应该是不同的。
答案 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!";
}