> For the complete documentation index, see [llms.txt](https://blakes-organization.gitbook.io/rainsister/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blakes-organization.gitbook.io/rainsister/springboot-2.x/undefined-1/include.md).

# 멀티환경구성에 대한 새로운 include

spring.profiles.include ? 엄청 익숙하지 않은가?

다중 DataSource 사용 환경구성할때 가끔씩 MySQL、Redis、MQ 등 여러 모듈들에 대한 설정이들이 길고길게 적어야 할때가 있다. 이때 우리는 include 방식으로 설정파일을 쪼갠후 다시 include 방식으로 하나로 합친다.

### 2.4 이전 방법 <a href="#id-24-zhi-qian-de-fen-zu-pei-zhi" id="id-24-zhi-qian-de-fen-zu-pei-zhi"></a>

```yaml
spring:
  profiles:
    active: "dev"

---
spring.profiles: "dev"
spring.profiles.include: "dev-db,dev-mq"

---
spring.profiles: "dev-db"

db: dev-db.blake.com

---
spring.profiles: "dev-mq"

mq: dev-mq.blake.com
```

* spring.profiles.active: dev 는 default dev 환경설정을 활성화 한다는 뜻
* dev 에서 include 하여 기타 설정들을 불러온다.

```yaml
spring.profiles: "dev"
spring.profiles.include: "dev-db,dev-mq"
```

#### 구동시 Log 확인&#x20;

```bash
The following profiles are active: dev,dev-db,dev-mq
```

dev、dev-db、dev-mq 의 모두 활성화 되었으니 include 는 잘 된셈이다.

### 2.4 이후 방법 <a href="#id-24-zhi-qian-de-fen-zu-pei-zhi" id="id-24-zhi-qian-de-fen-zu-pei-zhi"></a>

spring.profiles.group 로 설정해야 된다.

```yaml
spring:
  profiles:
    active: "dev"
    group:
      "dev": "dev-db,dev-mq"
      "prod": "prod-db,prod-mq"

---
spring:
  config:
    activate:
      on-profile: "dev-db"

db: dev-db.blake.com

---
spring:
  config:
    activate:
      on-profile: "dev-mq"

mq: dev-mq.blake.com

---
spring:
  config:
    activate:
      on-profile: "prod-db"

db: prod-db.blake.com

---
spring:
  config:
    activate:
      on-profile: "prod-mq"

mq: prod-mq.blake.com
```

log는 아래 와 같다.  defalut 설정이 dev 이니, dev-db 와 dev-mq 나온다.

```bash
The following profiles are active: dev,dev-db,dev-mq
```

혹시 모르니 spring.profiles.active: "prod" 로변경후 다시 구동해 보자&#x20;

```bash
The following profiles are active: prod,prod-db,prod-mq
```

잘되는 듯 하다.

끝!
