Аннотация @Value всегда возвращает ноль ⇐ JAVA
-
Anonymous
Аннотация @Value всегда возвращает ноль
Я пытаюсь прочитать содержимое файла application.properties, используя аннотацию @Value. Но он всегда будет возвращать ноль.
**Пример кода Java** @Компонент публичный класс SampleClass() реализует Runnable{ @Value("${profile.name}") частное имя строки; @Override общественный недействительный запуск () { System.out.println("Имя: " + имя); ... } } **Приложение.свойства** Profile.name=моеимя **Pom.xml** разработчик dev олень олень продукт продукт .... источник/основной/ресурсы истина **/*.properties
Я даже пытался присвоить переменной значение по умолчанию, но она все равно возвращает ноль.
@Value("${profile.name:'samplename'}") Почему??
Обновить
Теперь мне удалось получить значение Profile.name в моем SampleClass(). Но я не совсем уверен, что я поступил правильно. SampleClass1 вызовет SampleClass2.
Пример кода Java 1
@Component публичный класс SampleClass1(){ @Autowired ОбразецКласс2 ОбразецКласс2; @Value("${profile.name}") частная строка имя_профиля; sampleClass2.setName(имя профиля); //Вызов SampleClass2 } Пример кода Java 2
@Component публичный класс SampleClass2() реализует Runnable{ частная строка имя_профиля; public void setName(String ProfileName){ this.profileName= имя профиля; } @Override общественный недействительный запуск () { System.out.println("Имя: " + имя профиля); ... } }
Я пытаюсь прочитать содержимое файла application.properties, используя аннотацию @Value. Но он всегда будет возвращать ноль.
**Пример кода Java** @Компонент публичный класс SampleClass() реализует Runnable{ @Value("${profile.name}") частное имя строки; @Override общественный недействительный запуск () { System.out.println("Имя: " + имя); ... } } **Приложение.свойства** Profile.name=моеимя **Pom.xml** разработчик dev олень олень продукт продукт .... источник/основной/ресурсы истина **/*.properties
Я даже пытался присвоить переменной значение по умолчанию, но она все равно возвращает ноль.
@Value("${profile.name:'samplename'}") Почему??
Обновить
Теперь мне удалось получить значение Profile.name в моем SampleClass(). Но я не совсем уверен, что я поступил правильно. SampleClass1 вызовет SampleClass2.
Пример кода Java 1
@Component публичный класс SampleClass1(){ @Autowired ОбразецКласс2 ОбразецКласс2; @Value("${profile.name}") частная строка имя_профиля; sampleClass2.setName(имя профиля); //Вызов SampleClass2 } Пример кода Java 2
@Component публичный класс SampleClass2() реализует Runnable{ частная строка имя_профиля; public void setName(String ProfileName){ this.profileName= имя профиля; } @Override общественный недействительный запуск () { System.out.println("Имя: " + имя профиля); ... } }
Мобильная версия