springboot 2.4 版本后的多环境配置

scp-166 / 2023-05-19 / 原文

bean

package com.example.demo.tt;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

@Component
public class TT {
    @Value("${test.ww}")
    public String ww;

    @Value("${nice.qq}")
    public String qq;


    @PostConstruct
    public void init() {
        System.out.println("The value of my.property is: " + ww + ", " + qq);
    }
}

配置文件

总 yml (application.yml)

spring:
  profiles:
    # 默认启用环境
    active: dev
  config:
    # 以前的 include
    import:
      - application-db.yml

总 yml include 的普通 yml (application-db.yml)

nice:
  qq: qq

dev 环境的 yml (application-dev.yml)

spring:
  config:
    activate:
      # 当前 yml 所处的环境
      on-profile:
        - dev
    # 以前的 include
    import:
      - application-dev-config.yml

dev 环境 include 的普通 yml (application-dev-config.yml)

test:
  ww: dev凄凄切切

test 环境的 yml (application-test.yml)

spring:
  config:
    activate:
      # 表示所属环境
      on-profile:
        - test
    # 代替 include
    import:
      - application-test-config.yml

test 环境 include 的普通 yml (application-test-config.yml)

test:
  ww: test凄凄切切

启动指定

默认启动是 dev (总 yml 配置过了)
如果要指定新的环境,可以进行如下配置
image.png

  • 开启 vm options

image.png

  • 键入 -Dspring.profiles.active=test

还有其他的配置方式,但是我没怎么找,这里就算了