Spring AOP의 특징 앞에서 알아본 바와 같이 Spring의 AOP는 프록시 기술을 기반으로 한다. 따라서 AOP를 적용하면 항상 프록시를 통해 Target의 메서드를 실행하게 된다. Spring은 또한 AOP를 적용하면 대상 객체 대신에 프록시를 스프링 빈으로 등록한다. 따라서 스프링은 의존관계 주입시에 항상 프록시 객체를 주입한다. 실제 객체를 직접 호출하는 경우는 없지만 대상 객체의 내부에서 메서드 호출이 발생하면 프록시를 거치지 않고 대상 객체를 직접 호출하는 문제가 발생한다. 코드 예시 Advicer 코드 @Aspect @Slf4j public class CallLogAspect { // 메서드를 실행하면 해당 메서드 시그니처(메서드 이름)을 로그로 남기는 코드 @Before("execut..