본문 바로가기
SpringBoot/환경설정

[SpringBoot] @Profile 어노테이션을 통한 환경 설정

by 띵앤띵 2022. 9. 14.
728x90
반응형

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

 

@Profile 어노테이션을 통해 스프링 환경설정을 할 수 있다. 자바 설정 파일을 통해 설정하는 방법은 다음과 같다.

@Configuration
@Profile("test")
public class TestConfiguration {

    @Bean
    public BookRepository bookRepository(){
        return new TestBookRepository();
    }
}

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

 

 

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

@Repository
@Profile("!prod | dev")
public class TestBookRepository implements BookRepository{
}

 

혹시라도 확인해 보고 싶다면, 어플레케이션 설정에서 Profile 환경 설정을 초기화하고 테스트해보도록하자. Bean 주입이 안되는 것을 확인할 수 있다.

추가적으로 Profile 정의방식에는 간단한 문법이 적용이되는데, 아래와 같이 적용할 수 있다.

// prod가 아니면 Bean 등록
@Profile("!prod")


// prod가 아니면서 test이면 Bean 등록
@Profile("!prod & test")


// prod이면서 test이면 Bean 등록
@Profile("prod | test")

// !(not)
// &(and)
// |(or)

 

지금까지 환경에 따라 생성되는 Bean을 컨트롤 할 수 있는 Environment의 Profile 기능에 대해 알아봤다.

 

출처: 1. https://engkimbs.tistory.com/712 [새로비:티스토리]
        2. https://dbjh.tistory.com/31

반응형

댓글