深圳微商城网站制作多少钱,自适应网站如何做mip网页,外网室内设计网站,网页制作成品图加代码《在 Spring Boot 中安全使用 Qwen API-KEY#xff1a;环境变量替代明文配置的最佳实践》
想要的效果其实就是 把 Qwen API-KEY 放到系统环境变量中#xff0c;然后在 application.yml 里通过占位符读取#xff0c;而不写明文。
这样即便 application.yml 被提交到 Git…《在 Spring Boot 中安全使用 Qwen API-KEY环境变量替代明文配置的最佳实践》
想要的效果其实就是 把 Qwen API-KEY 放到系统环境变量中然后在 application.yml 里通过占位符读取而不写明文。
这样即便 application.yml 被提交到 Git也不会泄露 key。
分成三个步骤搞定1. 在系统中设置 Qwen API-KEY
假设真实的API-KEY是sk-12asdadba01231231b6a5asda9d7d
Mac / Linux
# 临时生效只对当前终端会话有效
export QWEN_API_KEYsk-12asdadba01231231b6a5asda9d7d# 永久生效写入 shell 配置文件比如 ~/.bashrc 或 ~/.zshrc
echo export QWEN_API_KEYsk-12asdadba01231231b6a5asda9d7d ~/.zshrc
source ~/.zshrcWindowsPowerShell
# 临时生效仅当前会话
$env:QWEN_API_KEYsk-12asdadba01231231b6a5asda9d7d# 永久生效
setx QWEN_API_KEY sk-12asdadba01231231b6a5asda9d7d2. 在 application.yml 中引用环境变量
qwen:api-key: ${QWEN_API_KEY}${QWEN_API_KEY} 会从系统环境变量中读取值如果想给默认值避免本地没设置时报错
qwen:api-key: ${QWEN_API_KEY:default-key-if-not-set}3. 在 Spring Boot 中读取
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;Component
public class QwenConfig {Value(${qwen.api-key})private String apiKey;public String getApiKey() {return apiKey;}
}这样 Spring Boot 启动时会自动读取系统的环境变量 QWEN_API_KEY
application.yml 就不需要暴露明文了。补充建议
如果你部署在服务器比如 Docker / K8s可以在启动容器时直接传环境变量
docker run -e QWEN_API_KEYsk-12asdadba01231231b6a5asda9d7d my-springboot-app读取 环境变量 → application.yml → 默认值 的。
4. 注意
如果启动IDEA发现读取不到设置的环境变量的话可以先用羡慕这行命令读取环境变量看看是否生效了。
echo $QWEN_API_KEY如果这个时候仍然没有获取到内容但是去~/.zshrc下可以查看到对应的值的话原因就是当时已经打开过IDEA了这个时候读取不到设置的环境变量需要重新退出IDEA然后重新打开去输入上述命令查看。