2. Работа с application.yml
Формат YAML (.yml) является альтернативой для application.properties. Он предлагает более читаемый синтаксис и иерархическую структуру для организации настроек. Формат YAML особенно удобен при работе с вложенными конфигурациями.
2.1. Пример application.yml
2.2. Чтение свойств из application.yml
Чтение свойств из YAML-файла происходит так же, как и из application.properties, с помощью аннотации @Value или @ConfigurationProperties.
Пример использования аннотации @Value с application.yml:
3. Профили в Spring для разных окружений
Spring поддерживает профили — это механизм, который позволяет задавать разные наборы конфигураций для различных сред (например, для разработки, тестирования, производства). Файлы конфигураций могут быть названы по шаблону application-{profile}.properties или application-{profile}.yml.
3.1. Пример использования профилей
Для активации профиля в Spring можно добавить соответствующий файл, например, application-dev.properties:
Аналогично можно создать файл application-prod.yml для боевого окружения:
3.2. Активирование профиля
Чтобы указать Spring, какой профиль использовать, можно прописать его в application.properties:
Или через параметры запуска приложения:
4. Использование внешних файлов конфигураций
Spring также поддерживает загрузку внешних конфигурационных файлов, которые могут находиться вне пакета приложения. Это удобно, когда вы не хотите включать параметры среды (например, логины и пароли) в артефакт приложения.
Пример запуска с внешним файлом конфигурации:
#Java #Training #Spring #yml #yaml
Формат YAML (.yml) является альтернативой для application.properties. Он предлагает более читаемый синтаксис и иерархическую структуру для организации настроек. Формат YAML особенно удобен при работе с вложенными конфигурациями.
2.1. Пример application.yml
server:
port: 8081
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: root
logging:
level:
org.springframework: INFO
2.2. Чтение свойств из application.yml
Чтение свойств из YAML-файла происходит так же, как и из application.properties, с помощью аннотации @Value или @ConfigurationProperties.
Пример использования аннотации @Value с application.yml:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class MyService {
@Value("${server.port}")
private int serverPort;
public void printPort() {
System.out.println("Порт сервера: " + serverPort);
}
}
Здесь значение параметра server.port из файла application.yml также будет внедрено в поле serverPort.
3. Профили в Spring для разных окружений
Spring поддерживает профили — это механизм, который позволяет задавать разные наборы конфигураций для различных сред (например, для разработки, тестирования, производства). Файлы конфигураций могут быть названы по шаблону application-{profile}.properties или application-{profile}.yml.
3.1. Пример использования профилей
Для активации профиля в Spring можно добавить соответствующий файл, например, application-dev.properties:
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/devdb
Аналогично можно создать файл application-prod.yml для боевого окружения:
server:
port: 80
spring:
datasource:
url: jdbc:mysql://localhost:3306/proddb
3.2. Активирование профиля
Чтобы указать Spring, какой профиль использовать, можно прописать его в application.properties:
spring.profiles.active=dev
Или через параметры запуска приложения:
java -jar myapp.jar --spring.profiles.active=prod
4. Использование внешних файлов конфигураций
Spring также поддерживает загрузку внешних конфигурационных файлов, которые могут находиться вне пакета приложения. Это удобно, когда вы не хотите включать параметры среды (например, логины и пароли) в артефакт приложения.
Пример запуска с внешним файлом конфигурации:
java -jar myapp.jar --spring.config.location=file:/path/to/external/application.properties
#Java #Training #Spring #yml #yaml
👍1