본문 바로가기
스프링

Spring에서 트랜잭션 처리하기

by 그리득 2024. 1. 30.
728x90

spring에서 트랜잭션 처리하기
spring이 제공하는 TransactionManager클래스를 이용
-> DML구문을 실행하면 기본적으로 commit();
-> 같은 세션에서 DML구문을 실행할 때 RuntimeException이 발생을 하면 rollback();처리

트랜잭션 설정하기
springconfiguration.xml에 tx namespace를 등록,
트랜잭션 매니저를 bean으로 등록

1. 어노테이션 방식
 - 적용할 메소드의 선언부에 @Transational
 - @Transactional(옵션설정)
 - AOP방식을 이용해서 처리하기 때문에 AOP설정되어있어야함
2. xml 방식
 - <tx:config> 태그로 트랜잭션에 대한 설정
 - <aop:config> 태그로 적용할 메소드를 설정

트랜잭션 옵션설정
1. propagation : 트랜잭션을 생성하는 방법에 대한 설정 default값으로 이미 시작된 트랜잭션이
있으면 참여, 없으면 트랜잭션 생성
2. isolation : 트랜잭션에서 수정된 내용을 다른 트랜잭션에서 사용할 수 있는 지 여부
3. timeout : 트랜잭션 유지 기간
4. read-only : 읽기전용으로 사용, select문에 사용
5. rollback-for, rollbackFor : 롤백처리할 기준(Exception)
6. no-rollback-for : 롤백처리하지 않는 선에서




'스프링' 카테고리의 다른 글

Restful 방식으로 서비스 구현하기  (0) 2024.02.25
Spring bean 등록, 주소 매핑 방식  (0) 2024.01.29
로깅(Logging) 시스템의 패턴 설정  (0) 2024.01.25
인터셉터, AOP 설명  (0) 2024.01.23
Spring, SpringBoot의 특징  (0) 2024.01.22