Spring Boot: конфигурация, @ConfigurationProperties против @Value

Аннотация @Value - это базовая функция контейнера, которая не предоставляет те же функции, что и свойства безопасной конфигурации. В следующей таблице приведены функции, которые поддерживаются @ConfigurationProperties и @Value:

Функционал @ConfigurationProperties @Value
Смягченная привязка Есть Нет
Поддержка метаданных Есть Нет
Оценка SpEL Нет Есть

Если вы определяете набор ключей конфигурации для своих собственных компонентов, рекомендуется сгруппировать их в POJO с пометкой @ConfigurationProperties. Вы также должны знать, что, поскольку @Value не поддерживает смягченное связывание, это не очень хороший вариант, если вам нужно предоставить значение с помощью переменных среды.

Наконец, хотя вы можете написать выражение SpEL в @Value, такие выражения не обрабатываются из файлов свойств приложения.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки