springboot 多环境切换的方法

网友投稿 407 2022-11-28


springboot 多环境切换的方法

properties文件

profile是Spring对不同环境提供不同配置功能的支持,可以通过激活不同的环境版本,实现快速切换环境;

例如:

application-test.properties 代表测试环境配置

application-dev.properties 代表开发环境配置

但是Springboot并不会直接启动这些配置文件,它默认使用application.properties主配置文件;

我们需要通过一个配置来选择需要激活的环境:

spring.profiles.active=dev

spring.profiles.active可以指定配置环境,如指定为dev就会选择 application-dev.properties 文件作为配置环境,同理,要指定不同的环境配置,只需指定application-xxx.properties的xxx即可。

如此时创建不同的配置文件

在主配置文件中加入spring.profiles.active=dev,

在 application-dev.properties 中加入:

server.port=8081

在 application-test.properties 中加入

server.port=8082

启动项目,可以看到端口设置为了8081

springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件:

优先级1:项目路径下的config文件夹配置文件 file: ./config/

优先级2:项目路径下配置文件:file: ./

优先级3:资源路径下的config文件夹配置文件 classpath: ./config/

优先级4:资源路径下配置文件: classpath: ./ ----------默认创建application.properties的地方

yaml文件

yaml文件切换配置环境与properties文件有所不同,它可以在同一个文件中配置多套环境,只要给每套环境设置名称,在主配置环境中指定即可:

server:

port: 8081

#选择要激活那个环境

spring:

profiles:

active: test

---

server:

port: 8083

spring:

profiles: dev #配置环境的名称

---

server:

port: 8084

spring:

profiles: test #配置环境的名称

测试就发现启动端口是8084,切换环境成功

两种配置方式的比较

1. Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件

yml文件本身具有区分不同环境的能力

2.书写格式的差异,yaml相对比较简洁,优雅

3. YAML的缺点:不能通过@PropertySource注解加载。如果需要使用@PropertySource注解的方式加载值,那就要使用properties文件。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MyBatis版本升级导致OffsetDateTime入参解析异常问题复盘
下一篇:Spring Cloud Data Flow初体验以Local模式运行
相关文章

 发表评论

暂时没有评论,来抢沙发吧~