@Profile 환경에 따라 다르게 동작해야 하는 경우가 있다. 이 때 @Profile이라는 어노테이션을 활용하면 간편하게 적용이 가능하다. 먼저 product, development, test 환경이 있고 각각의 환경에서 발송 기능 사용시 다르게 동작해야 한다고 하자. 먼저 발송하는 곳 소스이다. 발송하는 곳에서 환경에 따라 분기가 되는 것은 적합하지 않다고 생각한다. 그래서 저 Sender 객체를 생성하는 곳에서 분기가 되어야 한다. 그 과정에서 @Profile을 사용한다. 위 코드만 봐도 @Profile이 어떻게 사용되는지 대충 알 수 있다. 복수도 지원하고 산술연산자도 지원한다. 어플리케이션 실행 시 각각의 profile에 따라 다른 값이 빈이 동작하는 것을 확인 할 수 있다. @ActivePro..