Spring Boot: конфигурация, @ConfigurationProperties против @Value
Аннотация @Value - это базовая функция контейнера, которая не предоставляет те же функции, что и свойства безопасной конфигурации. В следующей таблице приведены функции, которые поддерживаются @ConfigurationProperties и @Value:
Функционал | @ConfigurationProperties | @Value |
---|---|---|
Смягченная привязка | Есть | Нет |
Поддержка метаданных | Есть | Нет |
Оценка SpEL | Нет | Есть |
Если вы определяете набор ключей конфигурации для своих собственных компонентов, рекомендуется сгруппировать их в POJO с пометкой @ConfigurationProperties. Вы также должны знать, что, поскольку @Value не поддерживает смягченное связывание, это не очень хороший вариант, если вам нужно предоставить значение с помощью переменных среды.
Наконец, хотя вы можете написать выражение SpEL в @Value, такие выражения не обрабатываются из файлов свойств приложения.
Читайте также:
- Spring Boot: конфигурация, проверка @ConfigurationProperties
- Spring Boot: использование типов аннотированных @ConfigurationProperties
- Spring Boot: смягченная привязка
- Spring Boot: конфигурация, слияние сложных типов свойств
- Spring Boot: конфигурация, конвертация свойств
Комментарии
Отправить комментарий