HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
토비의 스프링 3.1 Vol.1 스프링의 이해와 원리
토비의 스프링 3.1 Vol.1 스프링의 이해와 원리
/
5️⃣
5장 - 서비스 추상화
5️⃣

5장 - 서비스 추상화

5장에서는 지금까지 만든 DAO에 트랜잭션을 적용해보며 스프링이 어떻게 성격이 비슷한 여러 종류의 기술을 추상화하고 이를 일관된 방법으로 사용할 수 있도록 지원하는지를 살펴볼 것이다. -p.317
 

5.1 사용자 레벨 관리 기능 추가

를 읽고 인상 깊은 부분
  • 비즈니스 로직의 위치는 어디가 가장 적합한가?
  • 오브젝트에게 데이터를 요구하지 말고 작업을 요청하라
 

5.2 트랜잭션 서비스 추상화

를 읽고 인상 깊은 부분
  • 트랜잭션 경계 설정의 책임을 비즈니스 서비스 계층에서 가져가면ㄴ
    • Connection 파라미터의 노출이 필수적이다.
    • 따라서 내부 구현 기술의 노출이 발생한다.
 

스프링의 트랜잭션 서비스 추상화

PlatformTransactionManager & TransactionSynchronizationManager
 
package org.springframwork.transaction; public interface PlatformTransactionManager{ TransactionStatus getTransaction( @Nullable TransactionDefinition definition) throws TransactionException void commit(TransactionStatus status) throws TransactionException; void rollback(TransactionStatus status) throws TransactionException; }
 
  • 트랜잭션 매니저의 두가지 역할
    • 트랜잭션 추상화
    • 리소스 동기화
notion image