스프링 빈을 각 환경마다 따로 이름을 지어서 해당 환경에 맞는 스프링 빈이 동적으로 동작하게 함
ex) 서비스1 에는 test, 서비스2 에는 product 라고 붙여서, java -jar 실행 시에 modify option-active profile 에 이름을 넣으면 해당 서비스의 스프링 빈이 주입되서 올라감
모든 빈은 default 가 자동으로 붙음
application-***.properties
파일을 만들어서,
라고 하면 해당 프로퍼티들이 덮어 씌워짐
ex) application-prod.properties 라고 쓰고, 환경변수에 prod를 넣으면 이 프로퍼티의 내용으로 구동됨
ps) @Value 를 쓰면 ${} 안에 프로퍼티를 넣으면 해당 값으로 치환됨.
만약 @profile("prod") 로 설정한 경우
mvn package
cd target
방법 1. java -jar 파일이름 --spring.profiles.active=prod
방법 2. java -Dspring.profiles.active=prod -jar 파일이름
프로그래밍 인자로 넣음. 즉, main 메소드의 String[] args 의 인자로 들어옴
jvm 옵션으로 인자를 넣음