Как получить переменную окружения из локальной сети с помощью @Value весной?

Я установил ключ внутри моей среды (в файле bash_profile) под названием «FLAG» (значение «true»). Я пытаюсь получить его значение, используя значение аннотации. до сих пор я пытался это сделать:

@Value("\${FLAG}") private lateinit var process_flag: String 

но никакого успеха, я получаю сообщение об ошибке:

 java.lang.IllegalArgumentException: Could not resolve placeholder 'FLAG' in string value "${FLAG}" 

* Следует ли добавить какой-либо импорт \ аннотации в класс?

Попробуйте указать значение по умолчанию, если переменная не определена:

 @Value("${some_property:default_value}") private String key; 

В противном случае вы получите исключение, когда some_property не определен.

Если это не работает, вы также можете попробовать:

 @Component public class SomeClass { @Value("#{environment.SOME_KEY_PROPERTY}") private String key; .... } 

Spring не может видеть, что находится внутри файла bash_profile, он скорее дает доступ к свойствам Jvm-системы. Попробуйте ниже:

java …. -DFLAG = $ {FLAG}

«DFLAG» – это системное свойство jvm, а «flag» – значение в файле bash_profile.

Для пользовательских источников источника попытайтесь добавить эту аннотацию в свой конфиг:

 @PropertySource("classpath:{whatever_you_want_path}") 

Решение: возможно, это будет звучать смешно, но решение для меня состояло в том, чтобы выключить и включить intellij, конечно, после объявления переменной среды.

Intereting Posts
RxJava2 + Завершить черный экран при запросе данных Как преобразовать объект LocalDateTime в строку ISO, включая часовой пояс? Фрагмент с ViewPager с пустыми страницами после возвращения к нему из другого фрагмента Как объявить переменную типа перечисления в Kotlin? Воспроизведение аудиофайлов из требуемой папки Kotlin – Как преобразовать String в ByteArray Не удается отправить многостраничные данные / данные формы с помощью Volley Как связать событие onClick из представления с помощью Android Binding Library и Kotlin? Примеры ошибок запуска Ktor Kotlin: вернуть общий интерфейс Подавить «Использовать синтаксис доступа к свойствам» для метода или класса Можно ли запустить AsyncWebRequest через браузер? Использование AnkoLogger с уровнями, отличными от «info» Котлин, как получить значение поля через отражение kotlin абстрактное статическое развлечение в сопутствующих объектах