
[Spring DB] Transaction 적용 6(完) - 트랜잭션 AOP 흐름 / 스프링 부트 자동 리소스 등록
·
Spring DB/Transaction
트랜잭션 AOP가 어떤식으로 작동되는지 흐름을 정리해보자트랜잭션 AOP의 흐름1. 스프링이 @Transactional 에노테이션을 만나면, AOP 프록시를 적용해야 하는 대상인지 판별 후에 true면 프록시 생성2. Service에 대한 의존 관계는 실제 서비스가 아닌 서비스를 상속받은 AOP 프록시로 주입 받음3. Service의 메서드 실행시 프록시가 호출되고 트랜잭션 매니저를 통해 시작 (컨테이너에 등록된 트랜잭션 매니저는 자동으로 찾아옴).4. 트랜잭션 매니저가 데이터 소스를 통해 커넥션을 만들고, 트랜잭션을 시작하고 커넥션을 동기화 매니저에 보관5. 이후 프록시가 트랜잭션이 시작되면 실제 서비스 bizLogic() 을 호출하고, 비즈니스 로직은 레포지토리의 메서드를 호출7. 레포지토리는 반드시 ..