Spring Boot 多环境配置

Spring Boot 多环境配置

通常,在我们应用开发中,需要多个环境配置,一般是开发、测试、生产,有的还有演示环境。这些环境有不同的配置需求:

  • 服务的端口、ip地址
  • 数据库的信息、连接池等
  • 日志配置、日志级别
  • 第三方系统访问配置

Spring Boot 简化了配置,属性配置都放在了 application.properties 中,除 application.properties 文件外,还可以使用 application-{profile}.properties 命名约定来定义特定于配置文件的属性

这样可以有多个配置文件, 可以在系统部署的时候,使用 spring.profiles.active 属性指定使用哪个配置文件覆盖默认的 application.properties , 从而完成多环境部署。

如下配置三个不同环境的配置文件

在 application.properties 中设置

spring.profiles.active=test

启动后可以看到

说明是使用了 application-test.properties 的环境配置

以上在开发中可以很方便切换环境,部署时也可以很简单

java -jar -Dspring.profiles.active=prod target/myproject-0.0.1-SNAPSHOT.jar

以上配置启动后, Spring Boot 将读取 appIication-prod.properties 配置文件,覆盖默认的application. properties 选项

另外,为了安全考虑,开发环境不应该有线上环境的各种配置信息。可以将配置文件放到特定的目录中,井用 spring.config.location 指定配置文件的目录

java -jar -Dspring.config.location=file:env/ -Dspring.profiles.active=test target/myproject-0.0.1-SNAPSHOT.jar

配置文件位于当前目录的 env 目录下, profile 是test,因此会读取的是 env 下的 application-test.properties 配置文件

Spring Boot 如何找到配置文件:

Spring Boot 应用默认读取了application.properties 文件,实际上, Spring Boot 会自动 搜索classpath:、classpath:/config 、file: 、file:config/ 这些目录下的配置文件,优先级 由低到高, file:config/的优先级最高

这是系统属性 spring.config.location 默认的配置。spring .config .name 表示配置文件的 名称,默认是application

转载于:https://my.oschina.net/morgan412/blog/3019763

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值