• 티스토리 홈
starryeye
  • 프로필사진
    starryeye
    • 분류 전체보기 (189)
      • C++ (17)
      • Java (24)
      • OOP (5)
      • Spring Reactive Stack (12)
        • Reactive Streams (3)
        • Netty (4)
        • Reactor (1)
        • Webflux (3)
        • DB, Cache 연동 (1)
      • Spring (90)
        • Core (17)
        • MVC (33)
        • Client (2)
        • Security (4)
        • DB, Cache 연동 (33)
      • DataBase (12)
        • RDBMS (2)
        • NoSQL (10)
      • Message Broker (6)
      • Web (4)
      • Network (4)
      • 대규모 시스템 설계 (15)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • JDBC 6
        2022년 07월 13일
        • starryeye
        • 작성자
        • 2022.07.13.:54
        반응형

        TransactionTemplate

        템플릿 콜백 패턴을 사용하여 

        서비스 계층에서 Transaction을 사용함에 있어서 메서드마다 등장하는 코드를 줄일 수 있다.

        (repository 계층의 메서드 성공여부 try-catch에 따른 commit, rollback 코드가 없어짐)

        하지만.. 서비스 계층에 비즈니스 로직만 순수하게 있는 상황은 아니다.

         

        트랜잭션 AOP (선언적 트랜잭션 관리)

        서비스 계층에 순수 비즈니스 로직만 남길 수 있다.

        @Transactional 어노테이션만 써주고.. 해당 비즈니스 로직만 구현하면 된다..

        (스프링 부트에서 제공하기에.. 스프링 부트 종속성이 생김)

         

        아래는 스프링이 트랜잭션 AOP를 적용하기 위해 스프링 컨테이너에 자동으로 등록하는 빈이다.

        어드바이저 : BeanFactoryTransactionAttributeSourceAdvisor

        포인트 컷 : TransactionAttributeSourcePointcut

        어드바이스 : TransactionInterceptor

         

        스프링 빈으로 동작하는 개념이므로..

        DataSource와 PlatformTransactionManager의 구현체들을 스프링 빈으로 등록해야한다.

         

        <참고>

        JDBC의 경우...

        DataSource : DriverManagerDataSource

        -> 커넥션 풀 사용하지 않음..

        (참고로 dataSource의 이름으로 스프링 빈을 등록하지 않으면.. HikariDataSource가 기본 등록된다.)

        PlatformTransactionManager : DataSourceTransactionManager

        반응형

        'Spring > DB, Cache 연동' 카테고리의 다른 글

        JDBC 8  (0) 2022.07.16
        JDBC 7  (0) 2022.07.16
        JDBC 5  (0) 2022.07.13
        JDBC 4  (0) 2022.07.11
        JDBC 3  (0) 2022.07.11
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바