Skip to Content
Suffering builds character
아카이브19.spring Data개요2.데이터 접근 계층 추상화

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가지 방식으로 데이터 접근 계층을 추상화하였음

  1. Repository 인터페이스를 활용한 방식
    → 주로 활용

  2. Operations 인터페이스 기반의 template 방식

Spring Data JPA는 Repository 인터페이스 방식으로 데이터 접근 계층을 추상화하였음

Last updated on