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 |