트랜잭션 추상화
현재 문제 : JDBC 트랜잭션 의존
단일책임원칙에 위배된다. (하나(데이터 접근 기술)를 바꿨는데 여러군데에서 터진다.)
해결책 : 트랜잭션 기능을 추상화 하자
와.. 서비스는 특정 트랜잭션 기술에 직접 의존하지 않는다. -> 추상화된 인터페이스에 의존한다.
-> 서비스계층에서 해당 구현체를 주입 받으면 된다.
-> OCP, DIP를 지킬 수 있다.
스프링은 모든게 이렇게 구현이 되어있다. -> OOP 극대화
-> 변경에 유연하려고 이렇게 짜여짐.
스프링이 제공하는 트랜잭션 추상화 기술
- getTransaction() : 트랜잭션 시작 (진행중인 트랜잭션 있는 경우 해당 트랜잭션에 참여)
- commit() : 트랜잭션 커밋
- rollback() : 트랜잭션 롤백
구현체 주입받아서 쓰면 된다..
꾸준히 다시보자.
1. 221014
2. 221101
'Java, Spring > Spring DB 1' 카테고리의 다른 글
4-4. 트랜잭션 문제 해결 - 트랜잭션 매니저1 (0) | 2022.09.28 |
---|---|
4-3. 트랜잭션 동기화 (0) | 2022.09.28 |
4-1. 문제점들(서비스 계층에 트랜잭션 코드가 너무 많다.) (0) | 2022.09.27 |
3-11. 트랜잭션 - 적용2 (0) | 2022.09.25 |
3-10. 트랜잭션 - 적용1 (1) | 2022.09.25 |