목차
- BeanPostProcessor - 하나의 프록시에 여러개의 Advisor 적용
- BeanPostProcessor
- Spring 핵심원리 고급편 - ProxyFactory 적용
- Spring 핵심원리 고급편 - 여러 Advisor 와 함께 적용
- Spring 핵심원리 고급편 - Spring 에서 제공하는 Pointcut
- Spring 핵심원리 고급편 - Pointcut 만들기
- Spring 핵심원리 고급편 - Advisor
- Spring 핵심원리 고급편 - MethodInterceptor
- Spring 핵심원리 고급편 - ProxyFactory
참고
본 포스트는 김영한의 스프링 핵심 원리 - 고급편 내용을 참고해 만들었습니다.
Spring 에서의 ProxyFactory
Spring 에서는 프록시 객체를 생성하기 위해 ProxyFactory 를 제공합니다.
Spring에서 ProxyFactory 는 프록시 객체를 생성하는 팩토리입니다. ProxyFactory 는 인터페이스가 있을 때는 JDK 동적 프록시 를 사용해 프록시 객체를 생성하고 인터페이스가 없을 경우에는 CGLIB 를 사용해 프록시 객체를 생성합니다.
Advice
Advice 는 프록시에 적용하는 부가 기능 로직 이다.
JDK 동적 프록시 가 제공하는 InvocationHandler 와 CGLIB 가 제공하는 MethodInterceptor 의 개념과 유사하다.
Spring 은 부가기능 적용을 위해 JDK 동적 프록시 의 InvocationHandler 나 CGLIB 의 MethodInterceptor 를 각각 중복으로 따로 만드는 방식이 아닌 Advice 라는 개념을 도입했다. InvocationHandler 나 MethodInterceptor 가 Advice 를 호출하는 형식으로 부가 기능이 적용된다.