[Spring] 스프링에서 트랜잭션 관리 비즈니스에서 쪼갤 수 없는 하나의 단위 작업을 말할 때 트랜잭션(Transaction)이라는 용어를 사용합니다. 사전적인 의미로 트랜잭션은 '거래'라는 뜻을 갖지만, 현실적으로 '한 번에 이루어지는 작업의 단위'를 트랜잭션으로 간주합니다. 트랜잭션의 성격을 'ACID 원칙'으로 설명하곤 합니다. (데이터베이스 수업으로 돌아간 것 같네요ㅎㅎ) 원자성(Atomicity) 하나의 트랜잭션은 모두 하나의 단위로 처리되어야 합니다. 어떤 트랜잭션이 A와 B로 구성된다면 항상 A, B의 처리 결과는 동일한 결과이어야 합니다. 즉 A는 성공했지만, B는 실패할 경우 A, B는 원래 상태로 되돌려져야만 합니다. 어떤 작업이 잘못되는 경우 모든 것은 다시 원점으로 되돌아가야만 합..