2.데이터 접근 계층 추상화
Spring Data에서는 데이터 접근 계층인 DAO를 한 번 더 추상화 시켰음
이유는 데이터 접근 계층(Data Access Layer)을 구현하기 위해 필요한 일련의 보일러플레이트 코드들을 획기적으로 줄여서 개발자가 비즈니스 로직 작성에만 집중할 수 있도록 도와주기 위함
💡
Tip
보일러플레이트(boilerplate)
구현을 위해 반복적으로 작성이 필요한 코드 묶음
1-1. Spring Data JPA 사용 전 - JPA만 활용하는 케이스
Main.java
import jakarta.persistence.*
public class Main {
public static void main(String[] args) {
var factory = Persistence.createEntityManagerFactory("examplePU");
// 2. EntityManager 생성
var manager = factory.createEntityManager();
// 3. Transaction 시작
var transaction = em.getTransaction();
try {
transaction.begin();
User user = new User("John", "Doe");
manager.persist(user);
transaction.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
manager.close();
factory.close();
}
}
}
1-2. Spring Data JPA 사용 후
Main.java
public class Main {
@Autowired
private final UserRepository userRepository;
public static void main(String[] args) {
User user = new User("John", "Doe");
userRepository.save(user);
}
}2. 스프링의 데이터 접근 계층 추상화 방식
스프링은 크게 2가지 방식으로 데이터 접근 계층을 추상화하였음
-
Repository 인터페이스를 활용한 방식
→ 주로 활용 -
Operations 인터페이스 기반의 template 방식
Spring Data JPA는 Repository 인터페이스 방식으로 데이터 접근 계층을 추상화하였음
Last updated on