[Spring] CHAPTER 05 비즈니스 로직 층의 설계와 구현

2016. 3. 23. 11:59·공부/Spring

비즈니스 로직 층 : 업무처리를 하는 곳. 비즈니스 로직과 밀접한 관계가 있는 트랜잭션 처리는 비즈니스 로직 층에서 잘 대응해야 한다.


5.1 웹 어플리케이션의 트랜잭션

1) 롱 트랜잭션(약한 결합 트랜잭션) : 여러 요청에 걸친 트랜잭션으로
    ex) 영화예매 (영화관 검색, 자리선택및 요금결제 - 은행에서 돈 인출 )

2) 쇼트 트랜잭션(밀결합 트랜잭션): 하나의 요청 안에서 트랜잭션 처리를 하는 것
    ex) 주문확정(발주 테이블 갱신, 고객 테이블 갱신, 재고 테이블 갱신)


5.1.3 AOP를 이용한 트랜잭션 처리

만약 JDBC를 이용한다면 커넥션을 서비스와 DAO에서 공유해야 하므로 인수를 넘겨줘야 하는 등의 대응이 필요하지만 AOP를 사용하면 그럴 필요가 없다.

스프링이 제공하는 트랜잭션 매니저와 트랜잭션 어드바이스를 이용하면 서비스 내부를 수정하지 않고 트랜잭션 처리를 구현할 수 있다. (선언적 트랜잭션)


5.2 트랜잭션 매니저

스프링이 제공하는 트랜잭션 처리를 위한 부품임. 데이터 액세스 기술을 은폐해 주므로 데이터 액세스 기술이 바뀌어도 같은 방법으로 트랜잭션 매니저를 이용 할 수 있다.

전파속성 : 트랜잭션의 전파방법을 설정해주는 속성

독립성수준 : 트랜잭션 처리가 병행해서 실행될때 트랜잭션의 독립성을 결정하는 것이다.


독립성 수준 

의미 

ISOLATION_READ_COMMITTED 

다른 트랜잭션이 변경했지만 아직 커밋하지 않은 데이터는 읽어 낼 수 없다. 

ISOLATION_READ_UNCOMMITTED

 다른 트랜잭션이 변경하고 아직 커밋하지 않은 데이터를 읽어낼 수 있다.

 ISOLATION_REPEATABLE_READ

 트랜잭션 내에서 여러 번 데이터를 읽어올 때, 다른 트랜잭션이 도중에 데이터를 갱신해도 같은 값을 읽어온다.

 ISOLATION_SERIALIZABLE

트랜잭션을 하나씩 순서대로 처리해 독립시킨다. 

 ISOLATION_DEFAULT

데이터베이스가 제공하는 기본 독립성 수준을 이용한다. 


시간만료 : 트랜잭션이 취소되는 시간

읽기전용상태, 롤백대상예외, 커밋대상예외 등을 설정할 수 있다.



반응형
'공부/Spring' 카테고리의 다른 글
  • Spring 개발환경 설정 정리[spring,Mybatis(mysql),tomcat]
  • 내가 헤깔려하는것을 다시 정리해봄.
  • [Spring] CHAPTER 04 데이터 엑세스층의 설계와 구현
  • [Spring] CHAPTER 03 스프링의 AOP
JangGiraffe
JangGiraffe
안녕하세요~ 반갑습니다! 머무시면서 즐거운 시간 보내시길 바랍니다. 오픈카톡 : https://open.kakao.com/o/sYEBs0uh
  • JangGiraffe
    giraffe1010
    JangGiraffe
  • 전체
    오늘
    어제
    • 분류 전체보기 (390)
      • 공부 (155)
        • AI (3)
        • Spring (10)
        • JAVA (31)
        • python (6)
        • 기타 (12)
        • 메세지 (3)
        • Jsp,Servlet (4)
        • HTML (12)
        • Javascript (6)
        • C#,ASP.NET (2)
        • WEB (2)
        • DB (11)
        • Android (18)
        • [BaaS]Parse.com (4)
        • 졸업프로젝트 (4)
        • AWS,네이버클라우드플랫폼 (2)
        • Ubuntu (6)
        • maven (1)
        • 자료구조 (15)
        • 서버 (3)
      • 게임 (0)
      • 관심 (22)
        • 사진 (1)
        • 패스오브엑자일(POE) (1)
        • 월드오브워크래프트 (4)
        • 블로그 (7)
        • 이슈 (1)
        • IT (5)
        • 기타 게임 (3)
      • 자료 (2)
        • 면접 (2)
      • 먹거리 (103)
        • 음식리뷰 (99)
        • 카페리뷰 (4)
      • 여행 (35)
        • 국내여행 (23)
        • 해외여행 (12)
      • 생활정보 (68)
        • 생활정보 (33)
        • 상품리뷰 (34)
        • 세미나후기 (1)
      • 끄적끄적 (5)
        • 영화후기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 문의(카톡)
    • 방명록
  • 링크

    • 2zino
    • wildbluffer
  • 공지사항

  • 인기 글

  • 태그

    ChatGPT
    왕십리맛집
    제주도맛집
    시즈오카
    홍대맛집
    월드오브워크래프트
    양양 가볼만한 곳
    강원도여행
    자취
    김포맛집
    와우
    오징어난전
    발산 회식
    마곡맛집
    가양맛집
    맛집
    발산맛집
    떡볶이
    돈벌기
    강서구맛집
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JangGiraffe
[Spring] CHAPTER 05 비즈니스 로직 층의 설계와 구현
상단으로

티스토리툴바