[Chapter 03] @Import 애너테이션 사용 사례 #14
-
사용할 일이 많지 않다고 소개하고 있음에도 불구하고, 사용해야 하는 경우가 있다면 어떨 때일까요? cf. Junit 5 with Spring Boot: When to use @ExtendWith Spring or Mockito? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
참고 링크를 통해 코드리뷰한 글을 보면
|
Beta Was this translation helpful? Give feedback.
-
단순히 생각했을때는 어떤 다른 불필요한 것들 (ex. 예제코드의 @SpringBootTest안에 내장되어있는 목적 외 어노테이션? 또는 불 필요한 빈)등을 끌어오지말고 실제로 그 설정 목적에 맞는 것들만 가져올때? @import를 사용할 상황이지 않을까 생각합니다. |
Beta Was this translation helpful? Give feedback.
참고 링크를 통해 코드리뷰한 글을 보면
@SpringBootTest
애너테이션보다는@Import
애너테이션을 사용하는 것을 추천하고 있습니다.@SpringBootTest
을 이용하면 스프링 애플리케이션 컨텍스트가 설정되어 실제 애플리케이션과 유사한 환경에서 테스트할 수 있으나 필요없는 빈 구성까지 모두 하게 되므로 원하는 부분만 테스트 하는 슬라이스 테스트에 필요없는 비용을 발생하게 되지만@Import
를 사용하여 원하는 스프링 테스트 컨텍스트에 원하는 빈 구성을 추가하면 좀더 효율적인 테스트가 가능하기 때문입니다.@Import
애너테이션은명시된 여러 자바 설정 클래스를 하나로 묶는 역할
이라고 하였는데 책의 예시로는 스프링 애플리케이션 컨텍스트 설정에서 사용되어 다른 자바 설정 클래스를 가져오고, 애플리케이션 컨텍스트에 빈(bean) 구성을 추가하는 역할이고,@Import
또한 스프링 테스트 컨텍스트 설정에 사용되어 다른 자바 설정 클래스를 가져오고, 해당 설정을 테스트 컨텍스트에 포함시키는 것으로@Import
애너테이션의 대표적인 사용 사례인 것 같습니다.