
이전에 스프링의 트랜잭션 내부동작을 꽤나 디테일하게 다뤘었는데 이번에 한번 슬쩍 다시 복습하는김에 복기를 해본다.서비스 계층은 오로지 비즈니스 로직만을 다루고 있어야한다. 그렇기 때문에 트랜잭션 처리와 같은 데이터 베이스 접근 코드는 따로 분리를 해줘야한다. 트랜잭션

Exception 의 하위 예외 중 런타임 예외(자식 포함)를 제외한 모든 예외들반드시 에러를 처리 혹은 throws를 추가 해줘야한다.런타임 예외와 그 자식들컴파일러가 예외 처리를 강제하지 않기 때문에 따로 처리할 필요가 없다. 스프링에서는 트랜잭션 처리과정에서 예외

1. 기본적인 트랜잭션 - 커밋, 롤백 여태 우리는 하나의 커넥션에서 하나의 트랜잭션이 발생하는 상황만 고려를 해왔다. 트랜잭션매니저는 먼저 >1. 데이터소스로부터 새로운 커넥션을 할당 받고 `tx1` 이라는 트랜잭션을 생성한다. > 그 다음 서비스로직이 수행된 후

좀 더 와닿는 설명을 위해 한번 있을법한 상황으로 회원가입과 로그 저장 을 예시로 설명을 해보겠다.회원들이 회원가입을 할 경우, 회원가입을 했다는 로그 기록 또한 같이 DB에 저장하고 싶음.데이터 정합성을 위해 회원가입 또는 로그저장 둘 중 하나라도 실패하면 실패한 트