정의 스프링에서 어노테이션으로 선언적 트랜잭션 방식으로 트랜잭션을 처리하는것을 말한다. 사용 클래스, 인터페이스, 메소드에 사용할 수 있으면 메소드에 가장 가까운 어노테이션이 우선순위를 가진다. 어노테이션이 적용된 범위에서 트랜잭션 기능이 포함된 프록시 객체가 생성되어 자동으로 commit, rollback을 진행해준다. 이 프록시 객체는 @Transactional이 포함된 메소드가 호출 될 경우 PlatformTransactionManager를 사용하여 트랜잭션을 시작하고 commit, rollback을 진행해준다. 주의해야할점 - 적용범위 문제 상위메소드에서 하위메소드를 호출하는 경우, 하위메소드에서만 @Transactional을 선언하여 상위메소드에서 하위메소드시 호출시 @Transactional이..