Весенние данные значение по умолчанию для spring.data.jpa.repositories.bootstrap-mode

#spring #spring-data-jpa #default

#весна #spring-data-jpa #По умолчанию

Вопрос:

После обновления до spring 2.3.x мое приложение больше не запускалось. После долгой отладки я смог определить проблему. Значение по умолчанию для свойства spring.data.jpa.repositories.bootstrap-mode теперь deferred . Мой первый вопрос заключается в том, зачем кому-то указывать значение свойства по умолчанию иначе, чем default , и мой второй вопрос заключается в том, могу ли я каким-то образом изменить значение этого свойства по умолчанию, не устанавливая его явно в моем application.yml .

Также нашел этот фрагмент в spring-configuration-metadata.json :

 ...
{
  "name": "spring.data.jpa.repositories.bootstrap-mode",
  "type": "org.springframework.data.repository.config.BootstrapMode",
  "description": "Bootstrap mode for JPA repositories.",
  "defaultValue": "deferred"
},
...
  

Комментарии:

1. «значение этого свойства по умолчанию без явной настройки его в моем application.yml» — это ТОЧНОЕ НАЗНАЧЕНИЕ этого файла.

Ответ №1:

измените значение этого свойства по умолчанию, не устанавливая его явно в моем application.yml

Ну, это точная цель этого файла — переопределить настройки по умолчанию, которые станут «новыми значениями по умолчанию» и могут быть изменены в дальнейшем с помощью профиля, переменных окружения, аргументов cli и т.д.

зачем кому-то указывать значение свойства по умолчанию, отличное от default

Я могу представить, что у вас есть какая-то логика с отказоустойчивостью на уровне сохранения, и в таком случае вы хотели бы, чтобы она вызывалась сразу — во время начальной загрузки приложения — , а не после развертывания, когда кто-то действительно будет использовать ваше приложение. Обычно это нормально и подходит для большинства случаев использования.