首页 > 解决方案 > spring.data.jpa.repositories.bootstrap-mode 的 Spring 数据默认值

问题描述

升级到 spring 2.3.x 后,我的应用程序不再启动。经过大量调试,我能够确定问题所在。该属性的默认值为spring.data.jpa.repositories.bootstrap-modenow 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"
},
...

标签: springspring-data-jpadefault

解决方案


更改该属性的 --default-- 值而不在我的 application.yml 中明确设置它

嗯,这就是该文件的确切目的 - 覆盖将成为“新默认值”的默认设置,并且可以通过配置文件、环境变量、cli 参数等进一步自定义。

为什么有人会将属性的默认值设为默认值

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


推荐阅读