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

如何将Linux服务器环境变量映射到Spring Boot的application properties配置

Linux环境变量映射到Spring application.properties配置文件的实现方法

方法1:配置文件中显式引用环境变量(推荐,可读性高)

Spring Boot原生支持占位符语法,可以直接在配置文件中引用系统环境变量:

  • 第一步:先在Linux服务器中定义需要的环境变量
    • 临时生效(仅当前终端会话有效):
      export MAIL_USER=你的邮箱账号
      export MAIL_PWD=你的邮箱授权码
      export SMTP_PORT=465
      
    • 永久生效:将上述export语句写入/etc/profile(全局所有用户生效)或~/.bashrc(仅当前用户生效),执行source /etc/profile或source ~/.bashrc让配置立刻生效。
  • 第二步:修改application.properties配置,用${环境变量名}替换原占位符即可:
    spring.mail.username=${MAIL_USER}
    spring.mail.password=${MAIL_PWD}
    spring.mail.properties.mail.smtp.port=${SMTP_PORT}
    

    补充:如果需要设置默认值,避免环境变量缺失导致启动失败,可以写成${环境变量名:默认值},例如spring.mail.properties.mail.smtp.port=${SMTP_PORT:587}

方法2:利用Spring Boot宽松绑定规则自动映射(无需修改配置文件)

Spring Boot支持宽松绑定规则,会自动将大写+下划线格式的系统环境变量,匹配到点分隔的配置项:

  • 直接在Linux中按照规则设置环境变量:把配置项的.全部替换为_,所有字母转为大写即可,示例如下:
    export SPRING_MAIL_USERNAME=你的邮箱账号
    export SPRING_MAIL_PASSWORD=你的邮箱授权码
    export SPRING_MAIL_PROPERTIES_MAIL_SMTP_PORT=465
    
  • 无需修改application.properties中的原有配置,启动项目时Spring会自动用环境变量的值覆盖配置文件中的对应配置。

方法3:启动命令中动态传参

如果不想修改配置文件,也可以在项目启动时直接从环境变量取值传入:

java -jar 你的项目jar包名.jar \
--spring.mail.username=$MAIL_USER \
--spring.mail.password=$MAIL_PWD \
--spring.mail.properties.mail.smtp.port=$SMTP_PORT

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:24:05