선언적 트랜잭션에 대해 문의합니다.
- 작성자 :
- 김*일
- 작성일 :
- 2015-04-24 12:22:52
- 조회수 :
- 631
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요.
다름이 아니고 @Transactional 어노테이션을 사용하여
서비스쪽 에러 시 롤백되고 예외발생 내용이 나오는데
컨트롤러 쪽에서 예외가 발생하면 예외발생 내용을 출력할수는 없을까요?
다름이 아니고 @Transactional 어노테이션을 사용하여
서비스쪽 에러 시 롤백되고 예외발생 내용이 나오는데
컨트롤러 쪽에서 예외가 발생하면 예외발생 내용을 출력할수는 없을까요?
A
안녕하세요. 표준프레임워크센터입니다.
기본적으로 Controller에서는 @Transactional을 지정하셔도 transaction이 처리되지 않습니다.
Spring AOP가 다이나믹 프록시 방식을 사용하기 때문에 인터페이스가 있는 경우만 적용되기 때문입니다.
인터페이스방식이 아닌 Controller 클래스를 이용하여 @Transactional 어노테이션을 적용하기 위해서는 스프링이 지원하는
클래스 프록시 모드를 사용하셔야 합니다.
application context에 다음과 같은 추가 설정이 필요합니다.
<annotation-driven>proxy-target-class="true"/></annotation-driven>
감사합니다.
기본적으로 Controller에서는 @Transactional을 지정하셔도 transaction이 처리되지 않습니다.
Spring AOP가 다이나믹 프록시 방식을 사용하기 때문에 인터페이스가 있는 경우만 적용되기 때문입니다.
인터페이스방식이 아닌 Controller 클래스를 이용하여 @Transactional 어노테이션을 적용하기 위해서는 스프링이 지원하는
클래스 프록시 모드를 사용하셔야 합니다.
application context에 다음과 같은 추가 설정이 필요합니다.
<annotation-driven>proxy-target-class="true"/></annotation-driven>
감사합니다.