
6장 AOP 스프링에 적용된 가장 인기 있는 AOP의 적용 대상은 바로 선언적 트랜잭션 기능이다. 6.1 트랜잭션 코드의 분리 6.1.1 메소드 분리 비즈니스 로직 코드 사이에 두고 트랜잭션 시작과 종료를 담당하는 코드가 앞뒤에 위치하고 있다. 트랜잭션 경계설정의 코드와 비즈니스 로직 코드 간에 서로 주고받는 정보 없이 독립적인 코드다. 비즈니스 로직을 담당하는 코드를 메소드로 추출해서 독립시킨다. 6.1.2 DI를 이용한 클래스의 분리 여전히 트랜잭션을 담당하는 기술적인 코드가 UserService 안에 있다. 간단하게 트랜잭션 코드를 클래스 밖으로 뽑아내면 된다. DI의 기본 아이디어를 이용하면 된다. 실제 사용할 오브젝트의 클래스 정체는 감춘 채 인터..