개요
이번 글에서는 SpringBoot에서 환경에 따른 Properties 사용하는 방법(Spring Profiles)에 대하여 이야기해보려고 한다.
Spring Profile이란?
Spring은 실행 환경에 따라 애플리케이션의 설정을 다르게 해주는 프로파일이라는 기능을 제공하고 있다.
프로파일을 사용하면 런타임시에 활성화되는 프로파일에 따라 서로 다른 빈, 구성 클래스, 구성 속성 들이 적용 또는 무시될 수록 할 수 있다.
이를통해 DB 서버나 파일 업로드 경로 등을 실행 환경에 따라 다르게 해줄 수 있는 편리한 기능을 제공한다.
SpringBoot에서 Spring Profile 사용하기
우선 SpringBoot에서 Spring Profile을 사용하기 위해서는 현재 프로젝트가 application.properties를 사용하고 있는지 application.yml 파일을 사용하고 있는지 확인해야 한다. (이번 글은 application.properties 기준으로 작성합니다)
Profile 파일 생성하기
사진과 같이 resources 폴더 밑에 application-{프로파일 이름}.properties란 이름으로 파일을 생성해준다.
프로파일 이름 같은 경우에는 local, dev, prod만 사용할 수 있게 형식이 정해진 것이 아니라 자신이 사용하고 싶은 환경명이나 서버가 사용하는 프로파일 이름에 맞춰 작성하면 된다.
파일을 만들었으면 각 프로파일에 대해 properties를 설정해주면 된다.
이번 글에서는 각 프로파일에 따라 포트를 다르게 하는 예제를 작성하겠다.
- application.local.properties -
- application.prod.properties -
이렇게 Profile을 모두 분리했다면
기존에 있었던 application.properties 파일을 열어
spring.profiles.active={프로파일 이름}을 통해 자신이 사용하고 싶은 환경을 지정해준다.
환경 지정이 끝났다면 SpringBoot를 실행시켜 지정한 Profile의 포트에 접속되는지 확인해주면 된다.
IntelliJ에서 Spring Profile 지정하기
IntelliJ에서 Edit Configurations를 통해 Run/Debug Configurations 창을 열어준다.
Run/Debug Configurations 창에서 Active profiles 입력란에 자신이 사용하고 싶은 Profile명을 입력해주고 Apply 버튼을 눌러주면 Profile을 설정할 수 있다.
위 사진에선 local로 지정했기에 application-local.properties가 사용된다.
'Spring' 카테고리의 다른 글
[Spring] JPA NativeQuery 사용시 @Param으로 객체 사용하기 (0) | 2022.12.16 |
---|---|
[Spring] JPA에서 findBy 매개변수 없이 사용하기 (0) | 2022.12.07 |
[Spring] SpringBoot 프로젝트 WAS 배포 후 @PathVariable을 사용하는 Controller에서 MethodArgumentTypeMismatchException이 발생할 때 해결하는 방법 (0) | 2022.11.05 |
[Spring] SpringBoot에서 에러 페이지 설정하기 (2) | 2022.09.26 |
[Spring] Ajax에서 Success값이 넘어오지 않을 때 확인해봐야 할 사항들 (0) | 2022.09.22 |