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

如何在SpringBoot中将.env文件变量导入application.properties配置文件

Spring Boot加载.env变量到配置文件的实现方法

方案1:Spring Boot 2.4+ 原生支持(无额外依赖,推荐)

2.4及以上版本的Spring Boot已经原生支持直接导入.env文件,不需要引入第三方依赖。

步骤1:配置导入.env文件

在application.properties最顶部加入以下配置:

spring.config.import=optional:file:.env

加optional是为了避免.env文件不存在时启动报错,如果强制要求.env存在可以去掉optional:前缀

步骤2:放置.env文件

把.env文件放在项目根目录(打包后可以放在jar包同级目录),内容示例:

PORT=12345

步骤3:引用变量

在application.properties中用${变量名}的格式引用即可:

server.port=${PORT}
# 可以加默认值,变量不存在时自动使用默认值:server.port=${PORT:8080}

如果需要使用你示例中的$PORT格式,额外添加以下配置即可生效:

spring.placeholders.prefix=$
spring.placeholders.suffix=

方案2:低版本Spring Boot使用dotenv依赖

如果你的Spring Boot版本低于2.4,可以引入第三方dotenv starter实现自动加载。

步骤1:引入依赖

Maven配置(pom.xml):

<dependency>
    <groupId>io.github.mekao</groupId>
    <artifactId>spring-boot-dotenv-starter</artifactId>
    <version>2.3.0</version>
</dependency>

Gradle配置(build.gradle):

implementation 'io.github.mekao:spring-boot-dotenv-starter:2.3.0'

注意依赖版本要和Spring Boot大版本匹配
后续放置.env文件和引用变量的操作和方案1完全一致。

方案3:启动前手动导出环境变量

你也可以在启动应用前手动把.env文件的变量加载到系统环境变量中,Spring Boot会自动读取所有系统环境变量,不需要修改项目配置。

Linux/macOS 启动命令:

# 先加载.env变量,再启动jar包
export $(xargs < .env)
java -jar 你的应用包名.jar

Windows 命令行启动命令:

# 先加载.env变量,再启动jar包
for /f "tokens=*" %i in (.env) do set %i
java -jar 你的应用包名.jar

提示:.env文件通常存储数据库密码、接口密钥等敏感信息,记得把它加入.gitignore文件,避免提交到代码仓库造成信息泄露。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:00:00