[Spring] Advice, PointCut, Advisor 란?
0. 들어가기전에, 프록시 팩토리 (Proxy Factory) 정리 JDK 동적 프록시 (링크) 인터페이스와 구현 클래스가 있는 경우 InvocationHandler 사용 CGLIB (링크) 구체 클래스만 존재하는 경우 MethodInterceptor 사용 스프링은 동적 프록시를 통합해서 편리하게 만들어주는 프록시 팩토리 (ProxyFactory) 기능을 제공한다. 프록시 팩토리 하나로 인터페이스가 있으면 JDK 동적 프록시를 사용하고, 인터페이스 없이 구체클래스만 존재하면 CGLIB 를 사용할수 있다. 이때, InvocationHandler 와 MethodInterceptor 를 따로 만들어야 했던 문제를 해결하기위해 스프링은 Advice 라는 개념을 도입했다. 각 핸들러와 인터셉터를 신경쓰지 않고, ..