스프링 부트 @Profle

profile을 통해 if(설정값이면 다르게 수행)을 쉽고 편하게 수행할수 있다.

소스 참고
https://github.com/beanbroker/beanbroker_spring

예제

application.properties

1
spring.profiles.active=dev

추가

Config

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

@Profile("!live")
@Configuration
public class RequestAppConfig implements WebMvcConfigurer {

@Autowired
private CustomRequestInterceptor customRequestInterceptor;

@Override
public void addInterceptors(InterceptorRegistry registry) {
// registry.addInterceptor(customRequestInterceptor)
//// .addPathPatterns("/**/log-incoming-request/**/");;
// .addPathPatterns("/*/**");
}
}

@Profile을 활용하여 특정 Config가 등록이 되지 않게 할수 있다.

!live <— 상용 프로덕트가 아니면으로 이해하면 되며 !을 쓰게 될경우 부정의 의미를 가지고 있다.

잘활용하면 좋다. 예를들어 개발서버에서는 작동해야 하고 상용서버에서 작동하지 말아야할 기능이 있을 경우 편하다.