Hello, Freakin world!

[Spring boot] 상황에 맞는 Profile 적용하기 본문

Spring boot

[Spring boot] 상황에 맞는 Profile 적용하기

johnna_endure 2020. 6. 15. 22:25

Profile이란?

프로파일이란 스프링의 각 컴포넌트들의 설정에 필요한 환경 변수 값들을 모아놓은 파일입니다.

기본적으로 스프링 부트에서는 application.properties라는 기본 프로파일을 제공합니다.

 

프로파일 생성하기

프로파일을 생성하는 건 간단합니다.

(자바 애너테이션을 이용해 자바 코드로도 구성이 가능하지만, properties 파일을 이용하는게 더 간단해 보여서 

여기선 properties 파일을 이용합니다.)

그냥 /resource 폴더에 application-xxx.properties 파일을 생성하면 xxx라는 프로파일이 생깁니다.

만약 application-develop.properties 를 생성하면 develop 프로파일이 생기는거죠.

 

 

프로파일 적용하기

자, 그러면 이 프로파일들을 실행시점에 어떻게 스프링부트 프로젝트에 알려줄까요?

방법은 spring.profiles.active=xxx 라는 시스템 변수를  jar파일을 실행하는 시점에 넘겨주면 됩니다.

아무값도 주지 않을 경우, 기본적으로 application.properties가 활성화(active)됩니다.

 

예를 들면 build한 jar파일을 수동으로 실행시킨다고 할 때

$ java -jar -Dspring.profiles.active Jar파일명

위와 같은 명령을 실행하면 됩니다.

 

매번 jar를 찾아서 위와 같은 명령을 치기는 귀찮으므로 IDE를 이용합시다.

 

Edit Configurations 메뉴로 들어갑니다.

 

창을 들여다보시면 왼쪽 메뉴에 SpringBoot Application을 시동하는 클래스가 올라가 있습니다.

저 클래스를 눌러보시면 Active profile 항목이 보이는데요. 저기에 프로파일명을 써주시면 됩니다.

 

끝! 생각보다 간단합니다.

 

이제 상황마다 저 속성의 값을 바꿔주시면 다양한 프로파일을 활용가능합니다.

Comments