개발놀이터

면접 준비 : 트랜잭션 본문

CS 지식/면접준비

면접 준비 : 트랜잭션

마늘냄새폴폴 2022. 6. 21. 18:07

Q. 스프링에서 트랜잭션을 왜 추상화 했나요?
A. 트랜잭션을 이루는 코드들이 데이터 접근 기술에 따라 달라지는 현상이 있었습니다. 때문에 JDBC를 사용하던 애플리케이션이 JPA로 바꾸기 위해 트랜잭션을 이루는 모든 코드를 고쳐야 하는 상황이 발생했습니다. 이를 해결하고자 스프링에서는 PlatformTransactionManager라는 인터페이스로 트랜잭션을 추상화 했습니다. 이를 통해 개발자는 서비스 계층에서 특정 기술에 종속적인 트랜잭션 코드를 사용하지 않아도 됩니다. 

Q. @Transactional에 대해 설명해주세요
A. 스프링이 데코레이터 패턴을 이용해 만든 스프링 AOP중 하나입니다. @Transactional 어노테이션이 붙어있는 메서드에 한해서 트랜잭션 시작, 정상 로직일 때 커밋, 예외 상황일 때 롤백을 처리해 줍니다. @Transactional을 통해 개발자는 서비스 계층에서 트랜잭션과 관련된 코드와 비즈니스 로직을 분리하여 순수한 서비스계층을 유지할 수 있습니다. 

https://coding-review.tistory.com/108

 

트랜잭션과 @Transactional

*트랜잭션 트랜잭션은 더 이상 쪼갤 수 없는 작업의 최소 단위를 의미한다. 즉 여러 작업을 진행하다가 문제가 생겼을 경우 롤백하기 위해 트랜잭션을 다누이로서 사용할 수 있다. 트랜잭션에는

coding-review.tistory.com

 

'CS 지식 > 면접준비' 카테고리의 다른 글

면접 준비 : 전략 패턴  (0) 2022.07.06
면접 준비 : 템플릿 메서드 패턴  (0) 2022.07.01
면접 준비 : 추상클래스와 인터페이스  (0) 2022.06.28
면접 준비 : OOP  (0) 2022.06.24
면접 준비 : 스프링 AOP  (0) 2022.06.23