Spring数据Spring.data.jpa.repositories.bootstrap-mode的默认值

Spring数据Spring.data.jpa.repositories.bootstrap-mode的默认值,spring,spring-data-jpa,default,Spring,Spring Data Jpa,Default,升级到Spring2.3.x后,我的应用程序不再启动。经过多次调试,我终于确定了问题所在。属性spring.data.jpa.repositories.bootstrap mode的默认值现在是deferred。我的第一个问题是,为什么有人会将某个属性的默认值设置为除默认值以外的任何值,而我的第二个问题是,我是否可以在不在应用程序.yml中显式设置该属性的默认值的情况下,以某种方式更改该属性的默认值 在spring配置元数据.json中也找到了这篇文章: ... { "name&q

升级到Spring2.3.x后,我的应用程序不再启动。经过多次调试,我终于确定了问题所在。属性
spring.data.jpa.repositories.bootstrap mode
的默认值现在是
deferred
。我的第一个问题是,为什么有人会将某个属性的默认值设置为除
默认值以外的任何值,而我的第二个问题是,我是否可以在不在
应用程序.yml中显式设置该属性的默认值的情况下,以某种方式更改该属性的默认值

spring配置元数据.json
中也找到了这篇文章:

...
{
  "name": "spring.data.jpa.repositories.bootstrap-mode",
  "type": "org.springframework.data.repository.config.BootstrapMode",
  "description": "Bootstrap mode for JPA repositories.",
  "defaultValue": "deferred"
},
...
更改该属性的--default--值,而不在my application.yml中显式设置它

这正是该文件的目的——覆盖默认设置,这些设置将成为“新的默认设置”,并且可以通过配置文件、环境变量、cli参数等进一步定制

为什么有人会将属性的默认值设置为默认值以外的任何值

我可以想象,您在Perience层周围有某种快速失效的逻辑,在这种情况下,您希望在应用程序引导期间立即调用它,而不是在部署之后,当有人实际使用您的应用程序时。定义它通常很好,并且适合大多数用例。

“该属性的--default--值,而不在my application.yml中显式设置”这正是该文件的用途。