Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70% Забронировать скидку
10 Июл 2023
2 мин
912

Разница между размещением свойства в application.yml и bootstrap.yml в Spring Boot

Когда речь заходит о Spring Boot, два файла могут вызвать некоторую путаницу — это application.yml и bootstrap.yml. В обоих этих файлах можно определить свойства, которые

Когда речь заходит о Spring Boot, два файла могут вызвать некоторую путаницу — это application.yml и bootstrap.yml. В обоих этих файлах можно определить свойства, которые будут использоваться в приложении. Однако они отличаются в том, когда и как эти свойства загружаются и используются.

Файл bootstrap.yml используется для указания свойств, которые необходимы на старте приложения. Это свойства, которые в первую очередь необходимы для подключения к внешним системам или службам, таким как конфигурационный сервер. Данный файл загружается до того, как Spring Boot начнет свой процесс автоконфигурации.

Примером такого свойства может быть spring.cloud.config.uri, которое указывает URL конфигурационного сервера.

spring:
  cloud:
    config:
      uri: http://localhost:8888

С другой стороны, application.yml является местом, где определяются все остальные свойства приложения. Эти свойства будут загружены во время процесса автоконфигурации Spring Boot.

Вот пример свойства, которое можно указать в application.yml:

server:
  port: 8080

Также стоит отметить, что если одно и то же свойство определено и в bootstrap.yml, и в application.yml, то значение из bootstrap.yml будет иметь приоритет.

Особое внимание стоит уделить свойству logging.config. Если его разместить в bootstrap.yml, то конфигурация логирования будет применена на раннем этапе загрузки приложения, что позволит регистрировать события на старте приложения. Если же разместить его в application.yml, то конфигурация логирования будет применена позже, и некоторые события на старте могут быть упущены.

В заключение, выбор между application.yml и bootstrap.yml зависит от того, когда и как должны быть загружены и использованы свойства.

Добавить комментарий

Подарок
Забрать подарок