실제 현장에서 DB는 리얼 DB와 개발 DB 로 나누어 진다.
개발 DB 에서 개발하고 TEST 하고
문제가 없을시
리얼 DB에 적용을 하고 사용을 한다.
하여
개발 환경과 리얼 환경의 설정이 각각 존재 해야 한다.
실제로는 리얼에 직접 붙은 일은 없지만
혹시 아주 영세한 회사의 프로젝트를 할때는
LOCAL PC 에서 리얼DB 에 직접 붙어서 TRACE 를 할때도 있다.
이렇게 개발 붙었다 리얼에 붙었다 할때 아래 설정 하나만 바꾸면 아주 편하게 환경을 왔다 갔다 할수 있다.
개념을 이미지로 표현 하면 아래와 같다.

최초에 application.properties 파일을 spring boot 가 읽고
spring.profiles.active 속성에 어떤 값이 있는냐에 따라
어쩔때는 applcation-dev-properties 어쩔때는 application-ops.properties 을 읽는 것이다.
예)
application.properties
spring.application.name=MyApp
spring.profiles.active=dev
application-dev.propfiles
# 개발 환경 데이터베이스 설정 (MySQL)
spring.datasource.url=jdbc:mysql://localhost:3306/devdb
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=devuser
spring.datasource.password=devpass
logging.level.org.springframework=DEBUG
# 리얼 데이터베이스 설정 (MySQL)
spring.datasource.url=jdbc:mysql://11.12.13.14:3306/realdb
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=realuser
spring.datasource.password=realpass
logging.level.org.springframework=WARN
근데 갑자기 드는 생각
꼭 파일의 이름을 application-dev. properties 와 application-ops.properties 로 해야 하나?
application-test.properties 로 해도 된다.
단 그렇게 할려면
spring.profiles.active=test 로 해야 한다.
그리고 파일은 꼭 이런 형식으로 만들어야 한다.
application-<profile>.properties
그건 그냥 규칙이다.
따라라..
오늘도 읽어 주셔서 감사합니다.
'SI 업무 > spring boot' 카테고리의 다른 글
| @Configuration 의 용도? Interface 를 어떻게 주입하지? (0) | 2024.12.26 |
|---|---|
| 5. JWT, Spring Security (0) | 2024.12.02 |
| 3. log는 어떻게 남기지? (1) | 2024.11.29 |
| 2. 복수개의 data source 연결은 어떻게? (4) | 2024.11.27 |
| 1. 한개의 data source 쓸려면 어떻게 할까? (1) | 2024.11.27 |