SpringBoot多环境配置

SpringBoot多环境配置

springboot在创建空项目时,会生成一个application.propertites的配置文件,可以在该文件中配置项目所需要的参数配置。通常的项目都有开发环境、测试环境和生产环境等,一个配置文件可能就要换来换去,springboot专门为适应这种情况做了优化。可以分环境来读取配置文件。

springboot的配置文件常见的有两种格式,一种是application.yml(或application.yaml),另一种是application.propertites。

先以propertites类型配置为例:

#application.properties
server.port=8092
spring.profiles.active=dev
demo="common"

#application-dev.properties
demo="dev"

#application-test.properties
demo="test"

如果application.properties中不配置spring.profiles.active=dev,程序会默认加载application.properties,不会加载dev,如果配置了spring.profiles.active=dev,会加载application.properties,也会加载dev,此时demo的配置会被dev中的demo覆盖。但是application-test.properties始终不会加载,这样就实现了多环境配置。

yml或yaml类型的配置和propertites类型的方法类似:

#application.yml
server:
  port: 8092
spring:
  profiles:
    active: dev
demo: common

#application-dev.yml
demo: "dev"

#application-test.yml
demo: "test"

结论和上面是一样的,要注意的是:和"之间要有个空格。

springboot既然支持这几种类型的配置文件,所以也是支持各种类型混用的,比如:

#application.yml
server:
  port: 8092
spring:
  profiles:
    active: dev
demo: common

#application-dev.properties
demo="dev"

#application-test.properties
demo="test"

把application.properties改为application.yml也是可以使用的。如果两个同时存在哪?也没问题,springboot有默认的加载顺序,即yml->yaml->properties,后读取的会覆盖先读取的,此例子中如果两个都存在,则会以application.properties文件中的demo值为最终值。

附:

简单的一个Controller验证:

@RestController
public class MyController {

    @Value("${demo}")
    private String demo;

    @GetMapping("/demo")
    public String getDemo(){
        return demo;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只努力的微服务

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值