Ответ
Файл application.properties (или его YAML-аналог application.yml) — это основной конфигурационный файл Spring Boot приложения. Он служит для централизованного управления настройками.
Основные функции:
- Задание параметров приложения: порт сервера, параметры подключения к БД, настройки логирования, активация профилей.
- Внешняя конфигурация: Позволяет изменять поведение приложения без перекомпиляции кода.
- Поддержка профилей: Для разных сред (dev, prod) можно создавать специфичные файлы, например,
application-prod.properties.
Пример содержимого:
# Настройки веб-сервера
server.port=8080
server.servlet.context-path=/api
# Настройки источника данных
spring.datasource.url=jdbc:postgresql://localhost:5432/mydb
spring.datasource.username=admin
spring.datasource.password=secret
spring.datasource.driver-class-name=org.postgresql.Driver
# Настройки JPA
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Механизм загрузки и приоритеты:
Spring Boot автоматически загружает файл из src/main/resources. Свойства можно переопределять в следующем порядке (от высшего приоритета к низшему):
- Аргументы командной строки (например,
--server.port=8081). - Переменные окружения ОС.
- Файлы конфигурации вне JAR-архива.
- Файлы конфигурации внутри JAR-архива (
application.properties).
Почему это важно: Такой подход обеспечивает конфигурируемость и портативность приложения между различными средами развертывания.