Как прочитать значение application.properties внутри конструктора при весенней загрузке? - PullRequest
0 голосов
/ 20 июня 2020

Я знаю, что конструкторы вызывают перед автоматическим подключением переменных. Но, к сожалению, я хочу прочитать значение application.properties внутри конструктора?

@Component
public class DESedeEncryption {
  private static final String key = "TEST_KEY";
  public DESedeEncryption() {
    system.out.println(key);
 }
}

DESedeEncryption encrypted = new DESedeEncryption();

Для указанного выше класса объект был создан с использованием нового оператора в моем проекте всего в 108 местах. Теперь я хочу прочитать это ключевое значение из application.properties. Но мне нужно изменить все 108 мест, используя аннотацию @Autowired. Но некоторые места создания объекта написаны с использованием оператора «новый» в файлах классов сущностей. Итак, я не могу автоматически подключить объект внутри класса сущности.

Кто-нибудь, пожалуйста, помогите мне решить эту проблему.

1 Ответ

2 голосов
/ 20 июня 2020

Вы можете объявить переменную внутри Конструктора с аннотацией @Value, где вы хотите вызвать переменную application.properties.

Пример класса:

  public DESedeEncryption(@Value("${key}") final String key) {
    system.out.println(key);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...