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