You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 3.3.0如何从文件读取数据库密码并设默认值

Spring Boot 3.3.0 从指定文件读取数据库密码配置

直接修改config.yaml中的password配置项即可实现需求,配置如下:

spring:
  datasource:
    appname: ${DOCUMENT_ID_DATABASE_APPNAME:DocumentIdService}
    driver-class-name: org.postgresql.Driver
    url: jdbc:postgresql:characterEncoding=UTF8&rewriteBatchedStatements=true
    username: ${DOCUMENT_ID_DATABASE_USERNAME:postgres}
    password: ${file:${DOCUMENT_ID_DATABASE_PASSWORD_FILE}::mypassword}

配置说明

  • ${file:${DOCUMENT_ID_DATABASE_PASSWORD_FILE}::mypassword} 是Spring Boot内置的表达式语法:
    • file: 前缀声明从文件读取内容
    • ${DOCUMENT_ID_DATABASE_PASSWORD_FILE} 引用环境变量,获取密码文件的路径
    • 第一个空冒号表示:若环境变量DOCUMENT_ID_DATABASE_PASSWORD_FILE不存在,直接使用后面的默认值
    • mypassword 是兜底默认值,当环境变量不存在、文件不存在或文件读取失败时生效

注意事项

  • Spring Boot 2.4及以上版本均支持该file表达式语法,3.3.0完全兼容
  • 若文件存在但无读取权限,Spring Boot启动会直接失败,这是安全设计的默认行为
  • 若文件路径包含特殊字符(如空格),需用引号将路径包裹,或在环境变量中正确转义

内容的提问来源于stack exchange,提问作者rmf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 17:29:52