SpringBoot yml 配置文件,读取 Windows 系统环境变量
SpringBoot yml 配置文件读取 Windows 系统环境变量在 Spring Boot 的application.yml配置文件中读取 Windows 系统环境变量主要使用${VARIABLE_NAME}占位符语法。 在 yml 文件中引用环境变量在application.yml中你可以直接使用${环境变量名}来引用对应的 Windows 系统环境变量。基本语法# 假设 Windows 系统环境变量中设置了 MY_SERVER_PORT9090server:port:${MY_SERVER_PORT}推荐做法设置默认值为了防止环境变量未设置导致应用启动失败强烈建议为占位符提供一个默认值。语法为${VARIABLE_NAME:default_value}。# 如果环境变量 MY_SERVER_PORT 未设置则使用默认值 8080server:port:${MY_SERVER_PORT:8080}# 数据库配置的常见用法spring:datasource:url:${DB_URL:jdbc:mysql://localhost:3306/mydb}username:${DB_USERNAME:root}password:${DB_PASSWORD:secret}在这个例子中如果系统里设置了DB_URL就使用它的值如果没设置就使用冒号后面的默认值。️ 在 Windows 中设置环境变量你可以通过以下两种主要方式来设置环境变量通过系统设置永久生效右键点击“此电脑”或“我的电脑”选择“属性”。点击“高级系统设置”。在“系统属性”窗口中点击“环境变量”按钮。在“系统变量”区域点击“新建”来添加新的环境变量或“编辑”来修改已有的变量。设置完成后需要重启命令行窗口或应用才能生效。通过命令行当前会话生效打开命令提示符CMD。使用set命令来设置一个临时环境变量例如set MY_SERVER_PORT9090 set DB_URLjdbc:mysql://localhost:3306/mydb这种方式设置的环境变量只在当前命令行窗口有效关闭窗口后即失效。 在 Java 代码中读取除了在yml文件中引用你也可以直接在 Java 代码中获取环境变量的值。使用Value注解importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereotype.Component;ComponentpublicclassMyComponent{// 直接注入环境变量同样可以设置默认值Value(${MY_SERVER_PORT:8080})privateintserverPort;}使用Environment对象importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.core.env.Environment;importorg.springframework.stereotype.Component;ComponentpublicclassMyComponent{AutowiredprivateEnvironmentenv;publicvoidprintConfig(){// 通过 getProperty 方法获取StringdbUrlenv.getProperty(DB_URL);System.out.println(DB URL: dbUrl);}}使用ConfigurationProperties注解这种方式适合将一组相关的配置属性绑定到一个 Java Bean 中。⚖️ 配置优先级了解 Spring Boot 的配置加载顺序非常重要因为它决定了最终生效的值。当同一个配置项在多个地方被定义时优先级高的会覆盖优先级低的。常见的配置源优先级从高到低排列如下命令行参数(例如java -jar app.jar --server.port9091)系统环境变量(例如set SERVER_PORT9090)JAR 包外部的application.ymlJAR 包内部的application.yml这意味着如果你在命令行中指定了--server.port9091它将覆盖application.yml文件中的任何server.port配置以及系统环境变量SERVER_PORT的值。终端获取环境变量命令在 Windows 系统中根据你使用的终端类型CMD 或 PowerShell获取环境变量的命令有所不同。以下是常用命令汇总1. 命令提示符 (CMD)这是 Windows 最传统的命令行工具。目的命令示例查看指定变量echo %变量名%echo %PATH%echo %JAVA_HOME%查看所有变量setsetset注意在 CMD 中直接输入变量名如JAVA_HOME会报错必须配合echo和百分号使用。2. PowerShell这是更现代的命令行工具功能更强大。目的命令示例查看指定变量$env:变量名$env:PATH$env:JAVA_HOME查看所有变量Get-ChildItem Env:Get-ChildItem Env:gci env:(简写)3. 常见环境变量对照表为了方便你测试这里列出了一些 Windows 中常见的系统环境变量变量名说明%PATH%/$env:PATH可执行文件的搜索路径%USERPROFILE%/$env:USERPROFILE当前用户的主目录如C:\Users\YourName%TEMP%/$env:TEMP存放临时文件的目录%COMPUTERNAME%/$env:COMPUTERNAME计算机名称%JAVA_HOME%/$env:JAVA_HOMEJava 开发工具的安装路径需手动配置 小贴士临时与永久上述命令查看的是当前会话生效的变量。如果你在系统设置中修改了环境变量需要重新打开终端窗口才能看到更新后的值。Linux 用户注意Windows CMD 不使用export或env命令这些是 Linux/Unix 系统的命令。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2449681.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!