개요 3편에서는 Spring 트랜잭션(@Transactional)의 동작과정을 알아보았다. 4편에서는 @Transactional 어노테이션 처리 과정을 도식화하여 정리하고, 디버깅해보도록 하자. 나는 보통 코드를 분석할때, 애플리케이션 로딩 시점과 런타임 시점을 구분해서 분석한다. 좀 더 자세히 말하면 아래와 같이 구분할 수 있다. 먼저 애플리케이션 로딩 시점과 런타임 시점으로 나눌 수 있고, 로딩 시점에는 자동구성을 하는 시점과 스프링 컨테이너가 세팅되는 시점으로 나누어 보았다. 자동구성에는 이번에 알아볼 Spirng AOP 관련된 자동구성과 Spring Transaction 관련된 자동구성에 대해서만 알아보도록 하겠다. 사실 이것보다 훨씬더 깊고 복잡하지만, 나는 우선 이정도로만 Spring AOP와..