4편에서는 트랜잭션이“프록시 구현의 결과가 아니라, 비즈니스 유스케이스를 표현하기 위한 메서드 경계”로 설계되었다는 점을 살펴봤습니다.이제 자연스럽게 다음 질문으로 이어집니다.트랜잭션 전파(Propagation)는 왜 이렇게 많은 옵션을 가질까?그리고 그중 왜 REQUIRED가 기본값일까?이 질문에 답하지 못하면,REQUIRES_NEW를 남용하거나의도치 않은 커밋/롤백을 만들고트랜잭션 구조를 복잡하게 만듭니다1. 전파(Propagation)는 무엇을 결정하는 옵션일까Propagation은“이미 트랜잭션이 존재할 때, 이 메서드는 어떻게 행동할 것인가”를 결정하는 옵션입니다.즉,트랜잭션이 없을 때?트랜잭션이 이미 있을 때?이 두 상황에 대한“정책 선언”입니다.2. REQUIRED의 정확한 의미REQUIRE..