목록2023/08/08 (1)
Rootable의 개발일기
@Transactional
📌 목적 서비스 계층이 다른 계층에 의해 변경 영향을 받지 않도록 하기 위함 🔎 트랜잭션 추상화 ✔ 문제점들 예를 들어 서비스 계층에서 계좌이체라는 비즈니스 로직을 수행한다면 반드시 필요한 두 메서드는 조회와 변경이다. 두 메서드 모두 DB에 접근을 해야만 결과를 내줄 수 있다. 하지만, 서비스 계층에서 트랜잭션 관련 로직인 트랜잭션 획득, 커밋, 롤백 등을 포함하면 순수 Java 로직과 데이터 접근 로직이 섞여 유지보수나 테스트에 불리하다. 그리고 가장 큰 문제는 데이터 접근 기술을 교체할 수 없다는 것이다. 그 이유는 서비스 계층에서 구체적인 접근 기술에 의존하기 때문이다. ✔ 해결책 서비스 계층이 인터페이스에 의존하도록 하자 스프링은 트랜잭션의 주요 기능을 추상화한 PlatformTransactio..
Spring
2023. 8. 8. 15:40