반응형
고립 테스트
-
6장) 6.1 트랜잭션 코드의 분리 ~ 6.2 고립된 단위 테스트Java & Spring/토비의 스프링 3.1 2021. 7. 11. 17:32
6장 AOP 스프링에 적용된 가장 인기있는 AOP 적용 대상은 선언적 트랜잭션 기능 6.1 트랜잭션 코드의 분리 메소드 분리 기존에 작성했던 UserService는 트랜잭션 경계설정 코드와 비즈니스 로직 코드 간에 서로 주고받는 정보가 없음 비즈니스 로직 코드에서 직접 DB를 사용하지 않기 때문 upgradeLevels 메소드에서 시작된 트랜잭션 정보는 트랜잭션 동기화 방법을 통해 DAO가 알아서 활용 완벽하게 독립된 코드 DI를 이용한 클래스의 분리 DI 적용을 이용한 트랜잭션 분리 DI는 실제 사용할 오브젝트 클래스 정체를 감추고 인터페이스로 간접 접근하도록 사용 구현 클래스를 외부에서 변경 가능 UserService를 인터페이스로 만들고 기존 코드를 구현 클래스로 수정 클라이언트와 결합이 약해지고 ..