728x90
spring.profiles.include ? 엄청 익숙하지 않은가?
 
다중 DataSource 사용 환경구성할때 가끔씩 MySQL、Redis、MQ 등 여러 모듈들에 대한 설정이들이 길고길게 적어야 할때가 있다. 이때 우리는 include 방식으로 설정파일을 쪼갠후 다시 include 방식으로 하나로 합친다.
2.4 이전 방법
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 하여 기타 설정들을 불러온다.
spring.profiles: "dev"
spring.profiles.include: "dev-db,dev-mq"
구동시 Log 확인
The following profiles are active: dev,dev-db,dev-mq

 

dev、dev-db、dev-mq 의 모두 활성화 되었으니 include 는 잘 된셈이다.
 
 
2.4 이후 방법
 
spring.profiles.group 로 설정해야 된다.
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 나온다.
The following profiles are active: dev,dev-db,dev-mq

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

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

잘 되는듯 하다.

끝!

'Springboot2.x 강좌 > 설정관련' 카테고리의 다른 글

프로젝트 설정파일  (1) 2023.01.03
멀티환경구성에 대한 새로운 방법  (0) 2023.01.03
728x90
2.4버전 이전
 
yaml 설정파일에서 spring.profiles 설정으로 멀티환경을 각각 분리해왔다.
spring:
  profiles: "dev"

name: dev.blake.com

---

spring:
  profiles: "test"

name: test.blake.com

---

spring:
  profiles: "prod"

name: prod.blake.com
2.4버전 이후
spring.profiles 를 spring.config.activate.on-profile 대체해야 된다.
spring:
  config:
    activate:
      on-profile: "dev"

name: dev.blake.com

---

spring:
  config:
    activate:
      on-profile: "test"

name: test.blake.com

---

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

name: prod.blake.com
 
새로운 방식 spring.config.activate.on-profile 에 대한 구동 명령은 아래와 같이
java -jar myapp.jar -Dspring.profiles.active=dev​
log 는 아래처럼 찍힐 것이다.
2020-12-16 16:34:20.614  INFO 5951 --- [           main] c.d.blake.DemoApplication       : The following profiles are active: dev
spring.profiles.active 를 직접 yaml 에 넣을수 도 있다.
spring:
  profiles:
    active: "dev"

---

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

name: dev.blake.com

---

spring:
  config:
    activate:
      on-profile: "test"

name: test.blake.com

---

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

name: prod.blake.com
끝!

'Springboot2.x 강좌 > 설정관련' 카테고리의 다른 글

프로젝트 설정파일  (1) 2023.01.03
멀티환경구성에 대한 새로운 include  (0) 2023.01.03
728x90

많은 참고 바란다! 

https://blakes-organization.gitbook.io/springboot2/

 

권장하는 프로젝트 폴더구조 - Springboot2@가이드북

application main class:Application.java,해당 class는 root packag 하위에 위치,일반적으로 해당 class에서 componet scan 설정을 한다.root package 하위에 위치함으로서 수동설정을 줄이면서Spring 필요한것들도 정

blakes-organization.gitbook.io

보기 불편해 하는 분?들을 위하여 gitboot 내용을 하나씩 티스토리에도 이관중이다. 다들 티스토리 나 네이버블로그에서 타 블로그 플랫폼으로 넘어간다고 하는데 난 뭐하려고 이런 뻘짓을 하는지...

'Springboot2.x 강좌' 카테고리의 다른 글

민감한 정보에 대한 암호화  (0) 2023.01.03

+ Recent posts