Java, Spring/Spring DB 1
4-2. 트랜잭션 추상화
app0a
2022. 9. 28. 20:18
트랜잭션 추상화
현재 문제 : JDBC 트랜잭션 의존


단일책임원칙에 위배된다. (하나(데이터 접근 기술)를 바꿨는데 여러군데에서 터진다.)
해결책 : 트랜잭션 기능을 추상화 하자



와.. 서비스는 특정 트랜잭션 기술에 직접 의존하지 않는다. -> 추상화된 인터페이스에 의존한다.
-> 서비스계층에서 해당 구현체를 주입 받으면 된다.
-> OCP, DIP를 지킬 수 있다.
스프링은 모든게 이렇게 구현이 되어있다. -> OOP 극대화
-> 변경에 유연하려고 이렇게 짜여짐.
스프링이 제공하는 트랜잭션 추상화 기술


- getTransaction() : 트랜잭션 시작 (진행중인 트랜잭션 있는 경우 해당 트랜잭션에 참여)
- commit() : 트랜잭션 커밋
- rollback() : 트랜잭션 롤백
구현체 주입받아서 쓰면 된다..
꾸준히 다시보자.
1. 221014
2. 221101