728x90
@SpringBootTest와 @DataJpaTest 차이점
Spring Application(스프링 어플리케이션)은 ApplicationContext이다. 스프링의 기본 컨셉이 ApplicationContext에 Bean(Object)들을 미리 로드 해놓고 사용하는 컨셉이기 때문에 이걸 로딩하는것도 시간이 꽤 걸린다. 특히 테스트를 계속 돌리면서 개발할때는 한번 올려버리는게 아니고 계속 올려야 하니까 한줄 수정 하고 결과를 보기 까지 시간이 올래 걸리면 지친다.
그래서 몇가지 구분을 해놓은게 있다.
결론부터 이야기 하면 @DataJpaTest는 @Component를 스캔하지않는다.
그래서 @Component붙혀놓은 Class를 함께 사용하려면 @SpringBootTest를 사용하면 된다.
@DataJpaTest는 @Component붙은 Class를 ApplicationContext로 로드 하지 않기 때문에 약간 로딩이 빠른 장점이 있다.
end.
728x90
'Spring > Spring Data JPA' 카테고리의 다른 글
Spring Data Jpa - mysql LocalDateTime은 timestamp로, BigDecimal은 decimal mapping하기 (0) | 2019.01.03 |
---|---|
Spring Data Jpa에서 LocalDateTime이용해서 자동으로 createdAt만들기 (0) | 2018.06.08 |
@SpringBootTest와 @DataJpaTest 차이점 (0) | 2017.07.05 |
IntelliJ + Gradle로 Spring Data Jpa @ManyToOne 양방향 Mapping하기 (5) | 2017.06.28 |
Spring Data Jpa @Discriminator 다대일 Mapping (0) | 2017.06.28 |
@DiscriminatorColumn을 이용한 Spring Data Jpa 상속관계(Inheritance) 매핑 하기 (2) | 2017.06.22 |