如何管理 springboot 项目的配置文件

224 天前
 ljzxloaf

如果让 springboot 去管理,那就要打包各个环境的配置在一个包里,让 springboot 根据一些 convention 去区分开不同的 profile ,但是这样感觉不太安全。

如果让 maven 去管理的话,每个环境一个配置文件,但是又总是会有一些公共的配置,每次改动要改好几个文件。

各位彦祖有啥好办法🐴

2445 次点击
所在节点    程序员
23 条回复
Vkery
224 天前
nacos?
qinxi
224 天前
但是这样感觉不太安全. 不如说说怎么不安全?
spring 自身的 profile 就是用来干这个的, 敏感数据用环境变量就是了.
mango88
224 天前
公共的放 application.yml
环境特定的放 application-${spring.profiles.active}.yml
cslive
224 天前
直接配置中心,服务器设置环境变量,不同环境写入不同环境变量
cookii
224 天前
放在 k8s 里
28Sv0ngQfIE7Yloe
224 天前
k8s configMap
chaos93
224 天前
试试我的: http://42.192.143.114:23482/chat/ZM7TOinOY29cUTUA
问问 AI
vczyh
224 天前
就一个配置文件,然后注入环境变量,例如:

data:
redis:
host: ${REDIS_HOST:127.0.0.1}
username: ${REDIS_USER:default}
password: ${REDIS_PWD:123}
yuanxiaosong
224 天前
不使用 spring cloud/docker/k8s 管理配置
1. 使用外部 env 文件管理:
application.yml
```
spring:
config:
import: optional:file:.env[.properties]
datasource:
url: ${DATASOURCE_URL:jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8}
username: ${DATASOURCE_USERNAME:root}
password: ${DATASOURCE_PASSWORD:root}
```

.env
```
DATASOURCE_USERNAME=test
DATASOURCE_PASSWORD=test
```

优先使用 env 中的值,如果 env 中未找到对应值,则使用 yml 中的值,根据不同环境指定不同的 env 文件;

2. 启动时候通过启动参数配置
java -jar xxx.jar --spring.datasource.username=test --spring.datasource.password=test
hekouwang123
224 天前
我们之前用的 apollo ,挺好用的
guozi1117
224 天前
apollo 或者 nacos
nekoneko
224 天前
配置中心那么多, 随便选一个
cheng6563
224 天前
SpringBoot 天生自带配置文件合并,还要怎么管,生产服务器上放一份生产配置完事。
xliao
224 天前
源码仍然采用 application.yml + application-${spring.profiles.active}.yml 方式,
打包的时候根据 profile 忽略掉其他环境的配置,不同环境 jar 就只包含公共 yml+自身的 yml 了
inhzus
224 天前
@xliao #14 +1 方便又好用
ufan0
224 天前
@chaos93 #7 请问接入模型是哪个?价格如何。

该回复速度实在是不错。
chaos93
224 天前
@ufan0 你要给我付费么
paynezhuang
224 天前
@xliao 来破配置参考参考
azhong123
224 天前
@chaos93 很好用,非常感谢
chaos93
224 天前
@azhong123 能不能来点钱

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1038992

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX