- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- TWIL
- typescript
- Docker
- TIL
- CSS
- Refactoring
- 알고리즘
- mongodb
- MariaDB
- First Project
- 에러핸들링
- TMIL
- CRUD
- react
- 리팩터링 2판
- 코어 자바스크립트
- 프로그래머스
- 면접을 위한 cs 전공지식 노트
- LEVEL1
- 배포
- LEVEL 1
- Git
- sql
- 오늘도 개발자가 안된다고 말했다
- Err-Handling
- 아고라스테이츠
- javascript
- java
- LEVEL 2
- 코딩테스트
Archives
성장에 목마른 코린이
[Spring Boot] application.yml profile 설정 본문
728x90
application.yml profile 설정
local, development, production 같은 여러 환경을 하나의 application.yml 파일에 설정하고 사용하는 방법에 대해서 알아 보겠습니다.
YAML 설정
하나의 application.yml 파일에 여러 환경의 설정 정보를 저장하려면 spring.profiles
를 통해 설정하면 됩니다.
Profile 구분자(---
)로 구분 합니다.
# local, dev, prod 공통 설정
server:
port: 8080
tomcat:
uri-encoding: UTF-8
---
spring:
profiles: local
datasource:
url: "jdbc:mysql://test-server/test"
username: "dbuser"
password: "dbpass"
---
spring:
profiles: dev
datasource:
url: "jdbc:mysql://test-server/test"
username: "dbuser"
password: "dbpass"
---
spring:
profiles: prod
datasource:
url: "jdbc:mysql://service-server/web"
username: "proddbuser"
password: "proddbpass"
하지만 Spring Boot 2.4 부터는 spring.profiles
가 deprecated 되어서 위의 방법을 사용할 수 없습니다.
2.4 버전 부터는 spring.profiles.group.<source>
를 이용해 한꺼번에 그룹지어 하나의 profile로 만들수 있습니다.
spring:
profiles:
group:
"local": "testdb,common"
"dev": "testdb,common"
"prod": "proddb,common"
---
spring:
config:
activate:
on-profile: "proddb"
datasource:
url: "jdbc:mysql://service-server/web"
username: "proddbuser"
password: "proddbpass"
---
spring:
config:
activate:
on-profile: "testdb"
datasource:
url: "jdbc:mysql://test-server/test"
username: "dbuser"
password: "dbpass"
---
spring:
config:
activate:
on-profile: "common"
server:
port: 8080
tomcat:
uri-encoding: UTF-8
prod 프로파일 그룹은 proddb와 common 프로파일로 구성되어있는데, spring.profiles.active=prod
로 실행하게 되면 proddb와 common 두개의 프로파일을 한번에 실행할 수 있습니다.
사용
사용하는 방법은 위 예시의 코드처럼 profile을 선택해서 실행하면 됩니다.
Jar
java -jar myapp.jar --spring.profiles.active=prod
IntelliJ
- Run > Edit Configurations... 선택
- Spring Boot Application 선택
- Active profiles 에서 원하는 profile 명을 입력 후 실행
'Java > Spring Boot' 카테고리의 다른 글
[Spring Boot] Servlet 생명주기 (16 - 19) (0) | 2022.11.02 |
---|---|
[Spring Boot] Servlet 설정 with Gradle (13 - 16) (0) | 2022.11.02 |
[Spring Boot] Tomcat vs Jetty vs Undertow (0) | 2022.11.01 |
[Java] Spring과 Spring Boot의 차이, Spring Boot Starter (0) | 2022.10.21 |
[Spring Boot] DTO (Data Transfer Object) (0) | 2022.10.21 |
Comments