Spring Boot: конфигурация, многопрофильные документы YAML
Вы можете указать несколько специфичных для профиля документов YAML в одном файле, используя ключ spring.profiles, чтобы указать, когда документ применяется, как показано в следующем примере:
server:
address: 192.168.1.100
---
spring:
profiles: development
server:
address: 127.0.0.1
---
spring:
profiles: production & eu-central
server:
address: 192.168.1.120
В предыдущем примере, если профиль development активен, свойство server.address имеет значение 127.0.0.1. Аналогичным образом, если активны production и eu-central профили, свойство server.address имеет значение 192.168.1.120. Если профили development, production и eu-central не включены, то значение свойства равно 192.168.1.100.
Поэтому spring.profiles может содержать простое имя профиля (например, production) или выражение профиля. Выражение профиля позволяет выразить более сложную логику профиля, например, production & (eu-central | eu-west).
Если ни один из них явно не активен при запуске контекста приложения, активируются профили по умолчанию (default). Итак, в следующем YAML мы устанавливаем значение для spring.security.user.password, которое доступно только в профиле "default":
server:
port: 8000
---
spring:
profiles: default
security:
user:
password: weak
В следующем примере пароль всегда устанавливается, потому что он не привязан ни к какому профилю, и его необходимо будет явно сбросить во всех других профилях по мере необходимости:
server:
port: 8000
spring:
security:
user:
password: weak
Профили Spring, обозначенные с помощью элемента spring.profiles, могут быть отменены с помощью ! символа. Если для одного документа указаны как неотрицательные, так и неотрицательные профили, должен совпадать хотя бы один неотрицательный профиль, и никакие отрицательные профили не могут совпадать.
Читайте также:
- Spring Boot: внешняя конфигурация
- Spring Boot: конфигурация, файлы свойств приложения
- Spring Boot: конфигурация, использование YAML вместо свойств
Комментарии
Отправить комментарий