5. 프로파일

Tasker_Jang·2024년 8월 2일
0

프로파일

스프링 프로파일은 애플리케이션 설정 일부를 분리해서 특정 환경에서만 사용할 수 있게 해준다. 다음 예제와 같이 @Component, @Configuration, @ConfigurationProperties를 @Profile로 마킹하면 로드할 빈을 제한할 수 있다.

@ConfigurationProperties 빈을 자동 스캔 대신 @EnaleConfigurationProperties를 통해 등록했다면 @Profile 어노테이션은 @EnableConfigurationProperties 어노테이션을 선언한 @Configuration 클래스에 명시해야한다. @ConfigurationProperties를 스캔한다면 @ConfigurationProperties 클래스 자체에 @Profile을 지정할 수 있다.

활성 프로파일 추가하기

spring.profiles.active 프로파일의 순서를 매길 때는 다른 프로퍼티에서와 동일하게 가장 우선 순위가 높은 PropertySource가 이긴다. 다시말해 application.properties에서 활성 프로파일을 지정했을 땐 커맨드라인 스위치로 덮어쓸 수 있다.

프로파일 그룹

애플리케이션에서 정의하고 사용하는 프로파일이 지나치게 세분화되있으면 사용하기가 번거로워진다. 예를들면 데이터베이스와 메시지 처리 기능을 독립적으로 활성화하기 위해 프로파일을 proddb와 prodmq로 세분화할 수 있다.

이럴 때를 위해 스프링부트는 프로파일 그룹이란 것을 지원한다. 프로파일 그룹을 사용하면 관련 프로파일 그룹에 논리적인 이름을 붙일 수 있다.

profile
터널을 지나고 있을 뿐, 길은 여전히 열려 있다.

0개의 댓글