Spring Boot:数据源属性



我对Spring引导中的数据源自动配置感到困惑。根据我所读到的内容,我们必须以spring.datasource.*的形式指定数据源属性。但是,如果我以SPRING_DATASOURCE_*的形式提供属性名称,那么我的应用程序代码可以正常工作。我失踪有什么原因吗?请澄清。

我想您已经遇到了一个名为Relaxed Binding的弹簧引导功能。

它允许使用一些"宽松"的规则来绑定到ConfigurationProperties。因此,本质上,这两种定义方式在应用程序中具有相同的效果。

在这里,您可以找到官方文档中相关章节的链接

Spring Boot具有所谓的松弛绑定https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-具有外部配置放松绑定,允许您以不同方式定义配置:

  • acme.my-project.person.first-nameacme.myProject.person.firstName
  • acme.myProject.person.firstName
  • acme.my_project.person.first_name
  • ACME_MYPROJECT_PERSON_FIRSTNAME

后者在通过环境变量传递时经常使用。

相关内容

最新更新