У меня есть проект Spring Boot, и я пытаюсь восстановить значение файла .properties и использовать его внутри перечисления.
Я следую за следующими шагами.
У меня есть файл application.properties
с value = 000
. Я восстановил это значение с:
@RestController
public class ReadProperty {
@Value("${value}")
public String value;
public String getValueProperty() {
return this.value;
}
@GetMapping(value = "/get")
public String getValue() {
System.out.println("read value is " + value);
return value;
}
@GetMapping(value = "/getEnum")
public String getValueEnum() {
String response = EnumInsideAClass.TEST.toString();
System.out.println("response value is " + response);
return response;
}
}
Если я использую значение в классе, я получаю значение 000 без проблем.
Я создаю перечисление внутри класса, подобного этому
public class EnumTest {
@Autowired
static ReadProperty readProperty;
public final static String VAL = readProperty.getValueProperty();
public enum EnumInsideAClass {
TEST(VAL);
private String value;
private EnumInsideAClass(String value) {
this.value = value;
}
@Override
public String toString() {
return this.value;
}
}
}
Проблема в том, что внутри класса enum мне нужна статическая переменная. Если я использую
@Value("${value}")
public static String value;
Значение меняется на ноль.
Итак, я попытался использовать доступ к значению методом get, но значение по-прежнему равно нулю.
У меня нет идей, что я могу сделать? Возможно ли использование значения свойства внутри перечисления?
Большое спасибо