@Profile

배세훈·2021년 9월 17일
0

Spring

목록 보기
23/38

@Profile 어노테이션을 통한 프로필 설정

@Configuration
@Profile("test")
public class TestConfiguration{
	
    @Bean
    public BookRepository bookRepository(){
    	return new TestBookRepository();
    }
    
}

위 코드는 스프링 프로필이 test일 시 , @Bean 어노테이션이 붙은 bookRepository 빈이 컨테이너에 등록이 된다는 것을 뜻한다.

그 다음 JVM의 옵션에 해당 프로파일을 지정하는 옵션을 설정한다.
-Dspring.profiles.active="test"
또는
#application.properties 파일에서
spring.profiles.active=test

참고로 설정파일에 직접 명시하지 않아도 POJO 클래스에 @Profile 어노테이션을 붙이면 위와 같이 test 프로필 환경에서 등록되는 스프링 빈을 구현할 수 있다.

@Repository
@Profile("test")
public class TestBookRepository implements BookRepository{}

@Profile 어노테이션에서 !와 같은 NOT 표현식이나 &, |과 같은 논리연산자도 쓸 수 있다.

@Repository
@Profile("!prod | saelobi")
public class TestBookRepository implements BookRepository{}
profile
성장형 인간

0개의 댓글