У меня есть класс, который принимает значение из файла конфигурации, но он не работает.
@Component
public class InputValidator {
private final Logger log = ESAPI.getLogger(this.getClass());
@Value("${apis.maxNumOfCics : 88}")
private Integer maxNumOfCics;
// some methods
}
Я настроил случайное значение по умолчанию 88, которое используется, хотя я настроил его как 20 в application-local.yml. Когда я не использую значение по умолчанию:
@Value("${apis.maxNumOfCics}")
он берет правильное значение из application-local.yml, и я также установил локальный активный профиль. Правописание правильное, и другие значения конфигурации поступают из файла yml, но когда я устанавливаю значение по умолчанию, оно всегда принимает значение по умолчанию. Любая помощь в этом будет оценена по достоинству!
Я думаю, проблема в пробелах в выражении. Попробуйте удалить пробелы в выражении до и после :
.
@Value("${apis.maxNumOfCics:88}")
private Integer maxNumOfCics;
Попробуйте один из фрагментов синтаксиса из https://www.baeldung.com/spring-value-annotation
вау, спасибо сработало! надо было попробовать это раньше
Как вы запускаете свое приложение / настраиваете свой профиль?