HongCat 개발 스토리

9. @Transaction 예제 본문

FrameWork

9. @Transaction 예제

홍캣 2019. 12. 13. 17:49

2019.12.13

1. 트랜잭션이란?

트랜잭션은 어떤 일련의 작업을 의미 한다.

어떤 일련의 작업들은 모두 에러 없이 끝나야 하며, 만약 중간에 에러가 발생 한다면, 에러 발생 이전 시점까지 작업되었던 내용은 모두 원상복구 되어야 한다. 이렇게 데이터에 대한 무결성을 유지하기 위한 처리 방법을 '트랜잭션 처리' 라고 합니다.

예를 들어 ATM기에서 돈을 인출하려는데 인출과정에서 에러가 발생했다. 그런데 잔고에서는 돈이 차감되었는데 실제 나에게 지급된 돈이 없다면 문제가 발생한다. 이러한 오류가 발생했을때 원상복구 시키는 것을 트랜잭션이라고 한다.

 

2. 트랜잭션 설정방법

applicationContext.xml -> Namespaces 클릭-> task 체크

applicationContext.xml에 아래 코드를 추가

소스코드

<!-- transacion Annotation -->
	<task:annotation-driven/>
		<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

 		<property name="dataSource" ref="dataSource"/>

 	</bean>

트랜잭션 예제 소스코드는 회원가입(insert)시에 Commit, Rollback 처리가 필요한 코드에 @Annotaion을 추가하였다.

	// 회원가입
	@Transactional
	public int insertMember(Member m) {
		int result = memberDao.insertMember(m);
		return result;
	}

메소드 위에 @Transactional 어노테이션을 추가해주면 된다.

Comments