반응형

JDBC 2

[Spring 공식 문서 기반] Transaction 2. PlatformTransactionManager는 왜 인터페이스일까

1편에서는 Spring Transaction이“왜 ThreadLocal로 관리될 수밖에 없었는가”를 웹 요청 모델과 실행 흐름 관점에서 살펴봤습니다.이제 다음 질문으로 자연스럽게 이어집니다.트랜잭션을 실제로 시작하고, 커밋하고, 롤백하는 주체는 도대체 누구일까?이 질문의 중심에 있는 것이 바로PlatformTransactionManager입니다.1. 많은 개발자가 잘 보지 않는 인터페이스Spring에서 트랜잭션을 사용할 때 우리는 보통@Transactionalpublic void service() { // business logic}만 작성합니다.그 아래에서 어떤 클래스가트랜잭션을 시작하고리소스를 묶고커밋/롤백을 수행하는지는 거의 의식하지 않습니다.하지만 Spring 공식 문서에서는 트랜잭션의 핵심..

[Spring Boot 공식 문서 정리] 19. DataSource & 트랜잭션 Auto-Configuration 이해하기

18편에서는 Embedded Server를 통해 애플리케이션의 실행 모델과 책임 경계를 정리했다.이번 글에서는 그 다음으로 가장 많은 문제가 발생하는 영역, DataSource와 트랜잭션 Auto-Configuration을 다룬다.“왜 DataSource가 두 개 생겼지?” “TransactionManager는 누가 만들었지?” 같은 질문에 구조적으로 답할 수 있게 되는 것이 목표다.1) DataSource 자동 설정은 언제 시작될까Spring Boot에서 DataSource는 Auto-Configuration의 대표 사례다.DataSource 자동 설정은 다음 조건이 맞을 때 활성화된다.JDBC 관련 라이브러리가 classpath에 존재하고사용자가 직접 DataSource Bean을 정의하지 않았으며필..

반응형