spring - spring.data.jpa.repositories.bootstrap-mode 的 Spring 数据默认值
问题描述
升级到 spring 2.3.x 后,我的应用程序不再启动。经过大量调试,我能够确定问题所在。该属性的默认值为spring.data.jpa.repositories.bootstrap-mode
now 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"
},
...
解决方案
更改该属性的 --default-- 值而不在我的 application.yml 中明确设置它
嗯,这就是该文件的确切目的 - 覆盖将成为“新默认值”的默认设置,并且可以通过配置文件、环境变量、cli 参数等进一步自定义。
为什么有人会将属性的默认值设为默认值
我可以想象您在持久层周围有某种快速失败的逻辑,在这种情况下,您希望在应用程序引导期间立即调用它,而不是在部署之后有人实际使用您的应用程序。推迟它通常很好,并且适合大多数用例。
推荐阅读
- swift - 为什么 ScollView 内容大小没有为这个 SwiftUI 视图正确调整?
- .net - 当工作线程抛出异常时,是否调用 AsyncCallback
- node.js - 使用 fs.appendFile 打印的节点 js 未定义
- delphi - 使用 indy ssl 访问 delphi URL 的问题
- android - Android Studio 找不到 MotionLayout 的类
- spring - Spring 在运行时从依赖项中选择实现
- ruby - if 语句没有在 Ruby 中执行
- c - 编写多线程代码以在 C 中读取文件
- javascript - 如何在 lambda 中为局部变量创建类型定义?
- c - 编写numpy ufunc时如何处理复杂值?