-
[스프링 부트 개념과 활용] 프로파일 관련 정리SPRING/스프링부트 개념과 활용 2020. 12. 25. 18:25
프로파일이란 ?
특정한 프로파일에서만 특정 동작(ex; Bean등록)을 하게 하고 싶을 때에 사용함.
프로파일 사용 예시
BaseConfiguration.java TestConfiguration.java 위와 같이 Configuration 파일을 작성하고 각각의 다른 Profile 어노테이션을 추가한다.
예를 들어 BaseConfiguration에서는 Profile이 prod일 때에만 적용이 되고, 그 외에는 사용되지 않는다.
AppRunner.java 위와 같이 hello를 Autowired로 주입 받아 바로 실행하면 Error가 발생함.
그 이유는 사용할 프로파일을 적용하지 않았기 때문이다.
아래 스크린샷과 같이 spring.profiles.active에 값을 주면 정상적으로 실행이 된다.
application.properties ------------------------------------------------------------------------
프로파일용 프로퍼티의 활용
- prod용 프로퍼티 파일과, test용 프로퍼티 파일을 만든 후 설정 값에 따라 다른 프로퍼티의 값을 불러오도록 할 수 있다.
prd 프로퍼티, test 프로퍼티 생성 name을 출력하는 소스 위 스크린샷과 같이 program arguments에 --spring.profiles.active=prod를 입력하고 실행을 하면 application-prod-properties에 있는 값이 매핑이 된다.
또는 spring.profiles.active=prod를 application.properties에 선언하여도 같다.
-----------------------------------------------------------------------------------------------------------------------------------------
spring.profiles.include
active한 properties에서 spring.profiles.include를 선언하면 해당 프로파일에 선언한 값을 include하여 사용 할 수 있다. 동일한 값을 선언한 경우에는 include한 파일의 value 값으로 overriding 된다.
'SPRING > 스프링부트 개념과 활용' 카테고리의 다른 글
[스프링 개념과 활용] Spring-Boot-Devtools 의 활용 (0) 2020.12.27 [스프링 부트 개념과 활용] 스프링부트 로그 설정 (0) 2020.12.26 [스프링 부트 개념과 활용] 외부설정 - @ConfigurationProperties (0) 2020.12.25 [스프링 부트 개념과 활용] 외부설정 - Application.properties (0) 2020.12.24 [스프링 부트 개념과 활용] SpringApplication 관련 정리 (0) 2020.12.20