728x90
@SpringBootTest : 스프링 컨테이너와 테스트를 함께 실행
@Transactional : 테스트 케이스에 이 어노테이션이 있으면, 테스트 시작 전에 트랜잭션을 시작하고, 테스트 완료 후에 항상 롤백한다. 이렇게 하면 DB에 데이터가 남지 않아 다음 테스트에 영향을 주지 않는다
스프링 JdbcTemplate와 MyBatis같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해준다.
하지만 SQL은 직접 작성해야한다.
JPA
JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해줌
JPA를 사용하면, SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환할 수 있다
JPA를 사용하면 개발 생산성을 크게 높일 수 있다
스프링 데이터 JPA를 사용하면,
- 리포지토리에 구현 클래스 없이 인터페이스 만으로 개발을 완료할 수 있다
기본 CRUD 기능도 스프링 데이터 JPA가 제공함
스프링 데이터 JPA 제공 기능
인터페이스를 통한 기본적인 CRUD
findByName(), findByEmail()처럼 메서드 이름만으로 조회 기능 제공
페이징 기능 자동 제공
AOP (Aspect Oriented Programming)
공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 분리
반응형
'spring > 스프링' 카테고리의 다른 글
| 제어의 역전, DI, 스프링 컨테이너 (0) | 2023.03.08 |
|---|---|
| SOLID (1) | 2023.03.07 |
| 객체지향과 다형성 (0) | 2023.03.03 |
| (정적,MVC,API) / 웹애플리케이션 계층구조 / 스프링빈이용 (1) | 2023.02.28 |
| 스프링 기본개념 (0) | 2023.02.28 |
댓글