您的位置:首页 > 编程语言 > Java开发

Spring Boot 使用properties如何多环境配置

2018-01-27 21:05 148 查看
当我们使用properties文件作为Spring Boot的配置文件而不是yaml文件时,怎样实现多环境使用不同的配置信息呢?
在Spring Boot中,多环境配置的文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,如下所示:

application-dev.properties:开发环境;

application-test.properties:测试环境;

application-prod.properties:生产环境;



至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,而该属性可以写在配置文件中,也可以通过启动时命令来设置。
如application.properties中的spring.profiles.active=test,那么就会加载application-test.properties中的配置的属性。

假设有针对不同环境的三个配置文件:application-dev.properties,application-test.properties,application-prod.properties。

这三个文件中设置不同的server.port属性,dev环境为1111,test环境为2222,prod为3333。

application.properties中设置spring.profiles.active=dev,意为默认以dev环境的配置文件为准。

当我们执行java -jar XXX.jar时,可以测试到服务器端口为1111,也就是dev配置文件中设置的。

当我们执行java -jar XXX.jar --spring.profiles.active=test,可以测试到端口被设置为2222,也就是test配置文件中设置的。

同理,当我们执行jar -jar XXX.jar --spring.profiles.active=prod,可以观察到服务端口被设置为3333,也就是生产环境的配置。

总结多环境的配置思路:

在application.properties中配置通用内容,使用spring.profiles.active=dev,指定默认的配置。

在application-{profile}.properties中配置各个环境不同的内容。

通过命令行方式去激活不同的环境配置。

内容来源:《Spring Cloud微服务实战》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: