Spring/공부
설정 파일(application.properties, application.yml) profile 변경 법
synclair
2023. 7. 19. 15:11
Profile 란?
스프링에서 애플리케이션 설정을 구분하여 관리하는 기능을 말한다.
Profile을 쓰는 이유
환경 별로 설정을 분리 할 수 있다.
회사에서 실제 운영 서버가 있고 개발 서버가 따로 있고 내 컴퓨터(로컬)이 있다고 가정 한다면,
보통의 개발 흐름이라면 로컬 -> 개발서버 -> 운영서버로 만든 걸 반영 할 텐데
어떠한걸 삭제하는 api를 개발 중인데 테스트 해보려면 내 로컬에 있는 db 주소를 properties에 연결 해야한다.
그리고 개발서버에서 해보고 싶을때 또 properties 들어가서 db 이름을 바꿔주고 해야한다
귀찮다
그래서 properties를 따로 만들어 두고 어떠한 Properties 설정을 활용할 지 선택만 하면 되게 해주는게 profile이다.
하는 법
- 커맨드 라인 인자 사용
java -jar your-application.jar --spring.profiles.active=dev
- application.properties 파일에 직접 설정:
└── src
└── main
└── resources
├── application.yml
├── application-dev.yml
└── application-prod.yml
dev(개발서버세팅), prod(실제운영서버세팅) 이렇게 있다고 가정 (설정 파일 형식은 properties와 yml 형식이 있다)
개발 서버 세팅 상태에서 돌리고 싶을 때
application.yml에
spring:
profiles:
active: dev
이렇게 하면 된다.
- jvm 시스템시 프로퍼티 사용
intellij 라면 run configuration에 vm option에
java -jar -Dspring.profiles.active=dev your-application.jar
이러면 된다
개인적으로 2번이 안까먹고 좋은거 같다.