트랜잭션
-
5장) 5.3 서비스 추상화와 단일 책임 원칙 ~ 5.5 정리Java & Spring/토비의 스프링 3.1 2021. 7. 2. 14:11
5장 서비스 추상화 5.3 서비스 추상화와 단일 책임 원칙 수직, 수평 계층구조와 의존관계 기술과 서비스에 대해 추상화 기법 적용 UserDao와 UserService가 각각 담당하는 코드의 기능적인 관심에 따라 분리, 독자적으로 확장이 가능하도록 작업 같은 계층에서 수평적인 분리 트랜잭션 추상화 비즈니스 로직과 그 하위에서 동작하는 로우레벨의 트랜잭션 기술이라는 아예 다른 계층의 특성을 갖는 코드를 분리 단일 책임 원칙 하나의 모듈은 한가지 책임을 가져야함 == 하나의 모듈이 바뀌는 이유는 한 가지여야함 UserService 예시 JDBC Connection 메소드를 직접 사용하는 트랜잭션 코드가 있던 경우 두 가지의 책임을 가짐 사용자 레벨을 어떻게 관리할 것인가 트랜잭션을 어떻게 관리할 것인가 단일..
-
5장) 5.2 트랜잭션 서비스 추상화Java & Spring/토비의 스프링 3.1 2021. 6. 26. 18:12
5장 서비스 추상화 5.2 트랜잭션 서비스 추상화 트랜잭션 더 이상 나눌 수 없는 단위 작업 트랜잭션 커밋 모든 SQL 수행 작업이 다 성공적으로 마무리됐다고 DB에 알려줘서 작업을 확정시키는 작업 변경 내용이 DB에 반영되도록 설정하는 작업 트랜잭션 롤백 SQL 수행 작업 중 뒤 차례의 수행에 문제가 발생한 경우에 앞에서 처리한 SQL 수행 작업도 취소시키는 작업 DB에 변경 내용을 변경 이전으로 되돌리는 작업 트랜잭션 경계 설정 트랜잭션 경계 트랜잭션이 시작되고 끝나는 위치 transaction 시작 선언 이후, commit() or rollback() 으로 트랜잭션을 종료하는 작업 JDBC 트랜잭션의 트랜잭션 경계 설정 하나의 Connection을 사용하다가 닫는 사이에 일어남 트랜잭션의 시작과 종..
-
트랜잭션(Transaction)CS 지식/데이터베이스 2021. 1. 14. 15:33
Transaction이란 무엇인가? 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 or 한번에 모두 수행돼야하는 연산들을 의미 작업의 완전성을 보장해준다. 논리적인 작업을 모두 완벽히 처리하거나 처리하지 못할 경우에는 원 상태로 복구해서 작업의 일부만 적용되는 현상이 발생되지 않게 만들어준다. 트랜잭션과 Lock Lock은 동시성을 제어하기 위한 기능, 트랜잭션은 정합성을 보장하기 위한 기능 Lock은 여러 커넥션에서 동시에 동일 자원에 대해 자원을 요청할 때 순서대로 하나의 커넥션만 변경할 수 있게 해주는 역할 트랜잭션은 쿼리의 갯수에 관계 없이 논리적인 작업 셋 자체가 100% 적용되거나 아무것도 적용되지 않아야함을 보장 특징 (ACID) 원자성(Atomicity) ..