• 스프링에서 @Enable로 시작하는 애노테이션은 거의 모두 내부에 @Import를 메타 애노테이션을 가지는 방식으로 정의되어 있음
  • 빈 구성정보의 사용 의도를 잘 표현할 수 있기 때문
  • 단순히 @Configuration 클래스를 가져오기만하는 @Import에 비해서 추가로 애노테이션 엘리먼트를 선언하거나 @Enable 클래스 내부에 다른 설정을 넣을 수도 있어서 활용하기에 더 유리함
  • 이런면에서 @Enable로 시작하는 다양한 애노테이션이 스프링과 스프링 부트에 정의되어있고 사용되어지고 있음
  • 그래서 개발자가 스프링이나 부트로 애플리케이션을 개발하는 경우 @Import를 직접 이용하는 일은 거의 없음. 애플리케이션 내부에서 정의한 구성정보는 @Configuration 클래스를 컴포넌트 스캐너로 한번에 가져오기 때문에 @Import 할 필요가 없음
  • 재사용 가능하도록 정의한 자동 구성정보 내지는 설정에 따라 추가되도록 만든 구성정보는 @Enable로 시작하는 애노테이션을 거쳐서 @Import로 뒤에서 끌어오게 만드는 것이 스프링의 관례를 따르는 방식이라서 권장함