▶ 뭉충닷컴
 
mungchung.com login
Site Search
My Space
주절주절...
공부방
쥔장소개
Board
자유게시판
유용한 정보
자료실
Programming
강좌 & Articles
Spring 3.0
프로그래밍 Tip
   -ASP
   -PHP
   -JavaScript
   -HTML
   -Java/JSP
   -Database
   -Crystal Report
   -Visual Basic
   -이클립스
   -리눅스
   -기타
Windows API (VB)
Spread Sheet 7.0
컴퓨터활용 Tip
Other things
StarCraft 전략
StarCraft 문서
김용(金庸)
Son Q & Dieda

Spring에서 트랜잭션을 관리하는 방법은 Spring의 특징처럼 여러가지 방법들이 많다.

간략하게 정리하자면,

 

1. JDBC의 커밋, 롤백을 이용한 트랜잭션 처리 방법으로 가장 전통적인 방식이다.

   단점은 특정 JDBC에 종속적이고 비슷한코드가 클래스마다 여기저기 반복된다.

 

2. Transaction Manager 을 이용한 방법

 

3. Transaction Template를 이용한 방법

 

4. AOP를 이용한 선언적방식의 트랜잭션 처리 방법

 

5. @Transactional 어노테이션을 이용한 방법

 

 

빈설정 파일을 통해서 트랜잭션을 선언하려면 AOP의 포인트컷, 어드바이스 같은 개념을 잘 알고 있어야하는데 개념도 쉽지 않을 뿐더러 적용하기도 번거러울것 같아서 가장 간단한 방법 같아 보이는 @Transactional 으로 트랜잭션 구현해봤다.

 

@Transactional을 이용한 한 방법은 설정이 간단하다.

1. <tx:annotation-driven> 엘리먼트를 활성화해서 트랜잭션을 손쉽게 선언할수 있도록 해준다

2. 트랜잭션을 적용할 인터페이스 or 클래스 or 메서드에 @Transactional 어노테이션을 선언해준다.

 

 

설정방법은 무지 간단하지만 실제 예제 만들고 사용하려면 생각보다 쉽지 않다.

@Transactional 으로 트랜잭션을 구현할때 주의할 점이 있으니 잘 안될 경우 아래 내용들 확인해본다.

경험상 적은것들도 있는데 실력이 부족해서 틀렸을수도 있다 -_-

 

1. 자바 1.5 이상에서만 동작

2. AOP가 프록시를 기반으로 하는 한계 때문에 public 메서드에만 어노테이션을 적용가능

    (꼼수로 회피 방법이 있는것 같기도 함)

3. 가능하면 @Controller 클래스에 @Transactional을 사용하지 말자. spring 기본 사상에 위배될 뿐만 아니라

    잘 안된다. -_- 별도의 트랜잭션처리 클래스를 만들어서 @Controller에서 그 클래스를 호출하는 방식으로 바꾼다.

4. 트랜잭션 사용한 클래스는 인터페이스를 만들어주자

5. 코드 만들었는데 롤백이 잘 안되면 http://www.mungchung.com/xe/spring/33428 이 글 참고해본다.

 

 

 

 

@Transactional을 사용한 예제의 상세한 설명은 생략하고 예제파일이나 올린다

문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 Spring 3.0 게시판 뭉충닷컴 2011-08-07 4502
25 Spring Controller의 메서드에 사용될수 있는 파라미터 종류 뭉충닷컴 2012-11-01 7277
24 Spring에서 requestURL 가져올때 URL을 /WEB-INF/views/.. 로 가져오는 이유 뭉충닷컴 2012-10-31 7492
23 Spring의 어노테이션 정보 읽기 뭉충닷컴 2012-10-29 5750
22 Spring MVC 기본 흐름 file 뭉충닷컴 2012-10-23 6789
21 custom taglib 만들때 spring bean 사용하기 뭉충닷컴 2012-08-29 8765
20 STS에서 한글에 String literal is not properly closed by a double-quote 오류가 날 경우 file 뭉충닷컴 2012-07-03 4216
» Spring @Transactional 어노테이션을 이용한 트랜잭션 예제 file 뭉충닷컴 2012-06-04 8554
18 Spring @Transactional 사용시 rollback이 안될 경우 뭉충닷컴 2012-06-03 13553
17 한글때문에 xml 파싱시 오류날 경우 (URI$MalformedURIException 오류) file 뭉충닷컴 2012-06-02 5424
16 maven에 ojdbc14 추가하기 뭉충닷컴 2012-06-01 5391
15 HandlerInterceptor 간단한 사용 예제 file 뭉충닷컴 2012-03-08 9335
14 Spring Template Project 이용시 maven 빌드를 제대로 못할경우 file [1] 뭉충닷컴 2012-03-07 6065
13 Spring에서 Quartz 이용하기 (스케줄이용방법) file [1] 뭉충닷컴 2012-03-06 13837
12 Spring AOP (Aspect Oriented Programming) 뭉충닷컴 2012-03-05 2701
11 Spring의 HandlerMapping 종류및 사용방법 file 뭉충닷컴 2012-03-04 5904
10 maven을 이용해 배포(Deploy) 대상에 따라서 환경설정(resources) 다르게 적용하기 file [1] 뭉충닷컴 2012-03-03 36442
9 일반 Spring 프로젝트를 Web 프로젝트로 변경하기 file 뭉충닷컴 2012-03-03 4765
8 URL과 Controller 간단하게 연결해주는 HandlerMapping 처리 방법 뭉충닷컴 2012-03-03 4735
7 Spring에서 Session을 이용한 로그인 처리 예제 file [12] 뭉충닷컴 2012-03-02 66250
6 뷰 컨트롤러에서 ModelAndView 개체를 직접 생성하는 방법 뭉충닷컴 2012-03-01 7140
5 Root Application Context와 Servlet Context file 뭉충닷컴 2012-02-29 10653
4 STS의 Spring Template Project를 이용한 간단한 Spring MVC 웹 프로젝트 file [15] 뭉충닷컴 2012-02-29 13929
3 스테레오타입 어노테이션을 이용한 자동 빈 등록 file 뭉충닷컴 2012-02-28 2743
2 Spring에서 Bean 등록 여러가지 방법 뭉충닷컴 2012-02-28 5062
1 component:context-scan으로 설정되어있는 Bean들 확인하는 방법 file 뭉충닷컴 2012-02-24 3069