@Trasactional을 보고 스프링이 트랜잭션을 적용하는 프록시를 만들어야겠구나! 하고 aop 프록시를 만듭니다.
이 프록시에서 트랜잭션을 다 처리합니다.
스프링 컨테이너를 통해 트랜잭션 매니저를 획득하고 트랜잭션을 시작합니다.
데이터 소스를 가지고 커넥션을 만들고 수동커밋모드(트랜잭션을 시작한다는 의미)로 변경합니다.
만든 커넥션은 트랜잭션 동기화 매니저에 보관합니다.
이제 aop 프록시에서 실제 서비스 호출(비즈니스 로직)하면 데이터 로직에 접근하는데 sql 변경같은 작업할때 트랜잭션 동기화 매니저에 보관된 커넥션을 사용합니다.
감사합니다~
직접 그린건가요ㅇㅅㅇ
네! - dc App