[Spring] @Profile

춤추는 머쉬룸·2024년 3월 5일
0

2024 CNU NHN ACADEMY

목록 보기
10/15
post-thumbnail

Profile

스프링 빈을 각 환경마다 따로 이름을 지어서 해당 환경에 맞는 스프링 빈이 동적으로 동작하게 함

ex) 서비스1 에는 test, 서비스2 에는 product 라고 붙여서, java -jar 실행 시에 modify option-active profile 에 이름을 넣으면 해당 서비스의 스프링 빈이 주입되서 올라감

모든 빈은 default 가 자동으로 붙음


Spring Boot 에서

application-***.properties 파일을 만들어서,
라고 하면 해당 프로퍼티들이 덮어 씌워짐

ex) application-prod.properties 라고 쓰고, 환경변수에 prod를 넣으면 이 프로퍼티의 내용으로 구동됨

ps) @Value 를 쓰면 ${} 안에 프로퍼티를 넣으면 해당 값으로 치환됨.


jar 파일 실행 시에

만약 @profile("prod") 로 설정한 경우

mvn package

cd target

방법 1. java -jar 파일이름 --spring.profiles.active=prod

방법 2. java -Dspring.profiles.active=prod -jar 파일이름

방법 1

프로그래밍 인자로 넣음. 즉, main 메소드의 String[] args 의 인자로 들어옴

방법 2

jvm 옵션으로 인자를 넣음


예시

0개의 댓글