YONG-MIN

Spring - AOP를 이용한 트랜잭션 처리

개발언어/Java, Spring 2017. 11. 21. 10:28

※ iBatis 연동이 완료된 상태를 기준으로 작성되었습니다.


트랜잭션(Transaction)


데이터 처리에 있어 한꺼번에 수행되어야 할 일련의 연산들이라고 볼 수 있습니다.

파일 첨부가 가능한 게시판을 예로 들면 글 등록이란 하나의 처리 과정에서 게시판 테이블과 파일등록 테이블에  데이터가 INSERT 되어야 합니다.

즉, 필요한 일련의 과정이 전부 정상적으로 처리되거나, 오류가 발생할 경우 Rollback이란 기능을 통해 전부 미처리해야 하는 것이 Transaction입니다.





관점지향 프로그래밍(AOP: Aspect Oriented Programming)


AOP란 공통적으로 적용되는 기능들을 Method 혹은 Class가 실행되기 전/후 등의 단계에서 자동으로 수행되게 지원하는 프로그래밍 방법입니다.

이 기능을 통해 Logging, Transaction, Validate check 등의 로직을 분리해서 Spring을 더욱 객체지향(OOP)스럽게 구성할 수 있습니다.



AOP를 이용한 Transaction 설정


rootContext.xml 에 다음 코드를 추가합니다. 

 



         .... DB Connection 설정 생략(dataSource) ....

	 
	
		
	
	
	
	
		 
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
		 
	
	
	
	
		
		
	



※ 가독성을 좋게 하기 위한 SyntaxHighlighter 플러그인의 버그로 단독 형태사용으로 입력이 안됩니다.

  단독 태그형태로 사용가능합니다. ex) <txmethod .../>