본문으로 바로가기

@SpringBootTest와 @DataJpaTest 차이점

category Spring/Spring Data JPA 2017.07.05 16:22

@SpringBootTest와 @DataJpaTest 차이점

Spring Application(스프링 어플리케이션)은 ApplicationContext이다. 스프링의 기본 컨셉이 ApplicationContext에 Bean(Object)들을 미리 로드 해놓고 사용하는 컨셉이기 때문에 이걸 로딩하는것도 시간이 꽤 걸린다. 특히 테스트를 계속 돌리면서 개발할때는 한번 올려버리는게 아니고 계속 올려야 하니까 한줄 수정 하고 결과를 보기 까지 시간이 올래 걸리면 지친다.

그래서 몇가지 구분을 해놓은게 있다.

결론부터 이야기 하면 @DataJpaTest는 @Component를 스캔하지않는다.

그래서 @Component붙혀놓은 Class를 함께 사용하려면 @SpringBootTest를 사용하면 된다.


@DataJpaTest는 @Component붙은 Class를 ApplicationContext로 로드 하지 않기 때문에 약간 로딩이 빠른 장점이 있다.


end.




댓글을 달아 주세요