[Spring] Spring DB Access의 특징

류넹·2024년 2월 22일
1

Spring

목록 보기
8/50

# 목적

  • Spring의 데이터베이스 액세스에 대한 이해



📌 Spring DB Access의 특징

1. DataSource를 이용한 데이터베이스 연결 제공

  • 다양한 방식의 데이터베이스 연결을 제공하고, 이에 대한 추상화 계층을 제공함으로써 업무로직과 데이터베이스 연결방식 간의 종속성을 배제한다.


2. 다양한 데이터베이스 액세스 프레임워크와의 연동 지원

  • mybatis, JPA, hibernate 등


3. 오류에 대한 일괄된 예외 제공

  • Spring은 DataAccessException 클래스를 제공한다.
  • DataAccessException은 RuntimeException을 상속받은 Unchecked 예외다.
  • Spring은 데이터베이스별 오류코드를 조사해서 오류 코드별로 일관된 예외를 발생시킨다.
  • 오류 코드별 예외는 DataAccessException 클래스의 하위 클래스이며, 좀더 구체적인 오류코드를 보여준다.
    * try~catch 작성 불필요


4. 트랙잭션 처리를 지원하는 트랜잭션 매니저 제공

  • 다양한 방식의 데이터베이스 액세스 기술에 대한 트랜잭션 처리를 제공하고, 이에 대한 추상화 계층을 제공함으로써 업무로직과 트랜잭션 처리 방식 간의 종속성을 배제한다.
  • PlatformTransactionManager를 이용해서 트랜잭션 처리를 추상화했다.
    PlatformTransactionManager 인터페이스에는 트랜잭션 처리와 관련된 추상화된 메소드가 정의되어 있고, 각각의 데이터베이스 액세스 기술에 맞는 다양한 PlatformTransactionManager 인터페이스 구현체가 존재한다.


5. 선언적 트랜잭션 처리 지원

  • 프로그램 코드 작성 없이 선언적 방법으로 트랜잭션 처리를 지원한다.

  • 선언적 방법

    • 트랜잭션 처리가 필요한 곳에 @Transactional 어노테이션 붙이기
    @Transactional
    public class OrderService {
    
    }
    • aop 설정을 활용한 선언적 트랜잭션 처리
profile
학습용 커스터마이징 간단 개발자 사전

0개의 댓글