9.5.1. Understanding the Spring Framework's declarative transaction implementation
트랜잭션 관리 대상이 되는 클래스에 @Transactional 어노테이션을 붙이고 설정 파일에는 <tx:annotation-driven/>요렇게 추가하면 됩니다.
그렇게 하면 내부에서는 AOP를 사용하여 타겟에 대한 호출은 (1)AOP 프록시를 호출하게 되고 그 다음 (2)트랜잭션을 만들고 (3)트랜잭션 내에서 원하는 작업을 하고 (4)실제 작업을 한 뒤에 다시 (3)또 해당 작업이 끝난 뒤 원하는 작업을 하고 (2)해당 트랜잭션을 커밋 하거나 롤백하고 (5)최종 결과를 호출한 녀석에게 돌려 줍니다.