Spring에서 AOP 적용하기
·
Spring
AOP에 대해서 알아볼 때 수동 프록시로 구현했던 AOP를 스프링으로 바꿔보자. 스프링을 사용하면 내가 직접 프록시 클래스를 만들고 그 프록시 인스턴스를 호출하지 않아도 된다. DiscountPolicy 구현체(비즈니스 로직)와 AOP 설정(@Aspect, 포인트컷/어드바이스)만 있으면, 스프링이 컨테이너 초기화 시점에 프록시 객체를 자동으로 생성해준다. 그래서 겉보기에는 discountPolicy.discount(...)를 호출한 것처럼 보이지만,실제로는 프록시가 먼저 실행되어 부가 기능을 수행한 뒤 실제 DiscountPolicy의 discount(...) 메서드를 호출한다. 호출 흐름은 이렇게 이해하면 된다. (수동 프록시) 클라이언트 → 내가 만든 Proxy → 실제 DiscountPolicy(스..