Spring이 제공하는 트랜잭션의 기능트랜잭션 동기화: 컨텍스트 내에서 일관된 처리트랜잭션 추상화: jdbc, jpa 등의 다양한 인터페이스를 동일한 방식으로 제공AOP를 이용한 트랜잭션 분리: 트랜잭션이라는 관심사(Aspect)를 분리해서 비즈니스에 집중시킴 AOP(Aspect Oriented Programming)은 흩어진 관심사를 별도의 클래스로 모듈화하는 방식을 말한다.Aspect: 애플리케이션 내에서 중복으로 존재하는 부가 기능(advice)을 모듈화Advice: Aspect에 구현된 실제의 부가 기능 코드Pointcut: Aspect를 어디에 적용할지 지정 (언제)EX) @GetMapping시에만, UserService만 등의 언제 실행할지 정하는 조건문JointPoint: Advice가 실행..