跳至主要內容

多环境开发

Jin大约 1 分钟

多环境开发

image-20231205105610329
image-20231205105610329

1、单文件配置

  1. --- 分隔不同环境的配置
    • spring.config.activate.on-profile 配置所属的环境
    • spring.profiles.active 激活环境

spring:
  profiles:
    active: dev
server:
  servlet:
    context-path: /aaa
---

spring:
  config:
    activate:
      on-profile: dev
server:
  port: 8081
  servlet:
    context-path: /bbb
---


spring:
  config:
    activate:
      on-profile: test
server:
  port: 8082
---


spring:
  config:
    activate:
      on-profile: pro

server:
  port: 8083

2、多文件配置

  • 通过多个文件分别配置不同环境的属性
  • 文件的名字为 application-环境名称.yml
  • 在application.yml中激活环境

3、多环境开发-分组

application.yml配置如下:

spring:
  profiles:
#    active: dev
    active: prod
    group:
#      "dev": devJin
      "prod": prod-Jin

文件后缀支持驼峰,也支持-短横杠形式,

image-20231205154048697
image-20231205154048697

application-prod.yml

server:
  port: 8001

jin:
  name: 为你千千万万遍1
  age: 20

application-prod-Jin.yml

jin:
  name: 为你千千万万遍prod-jin
  age: 18

Controller

@RestController
public class JinController {

    @Value("${jin.name}")
    private String name;

    @Value("${jin.age}")
    private Integer age;

    @GetMapping("jin")
    public String getJin() {

        return "姓名:" + this.name + "\n性别:" + this.age;
    }
}

打印结果

姓名:为你千千万万遍prod-jin
性别:18

通过结果发现,jin配置同样在主配置文件application-prod.yml和分组配置文件application-prod-Jin.yml配置文件中,优先生效的是分组配置文件

贡献者: Jin