목차
- BeanPostProcessor - 하나의 프록시에 여러개의 Advisor 적용
- BeanPostProcessor - AutoProxyCreator
- BeanPostProcessor 를 이용한 프록시 객체 생성
- BeanPostProcessor
- Spring 핵심원리 고급편 - ProxyFactory 적용
- Spring 핵심원리 고급편 - 여러 Advisor 와 함께 적용
- Spring 핵심원리 고급편 - Spring 에서 제공하는 Pointcut
- Spring 핵심원리 고급편 - Pointcut 만들기
- Spring 핵심원리 고급편 - Advisor
- Spring 핵심원리 고급편 - MethodInterceptor
- Spring 핵심원리 고급편 - ProxyFactory
참고
본 포스트는 김영한의 스프링 핵심 원리 - 고급편 내용을 참고해 만들었습니다.
BeanPostProcessor
Spring Bean 을 등록하는 시점에 특정 로직을 수행하기 위해 사용하는 hook (LifeCycle 에 간섭할 수 있다.)
Spring Bean 전체에 공통 로직을 수행할 때 사용하면 유용하다
BeanPostProcessor 는 Bean 의 생성과 초기화를 제어하는 인터페이스입니다. 이 인터페이스를 사용하면 스프링 빈이 생성되고 초기화되는 과정에서 추가적인 작업을 수행할 수 있습니다. 예를 들어, 스프링 빈의 필드를 초기화하거나, 빈 객체의 프록시를 생성하는 등의 작업을 수행할 수 있습니다.
BeanPostProcessor 인터페이스
public interface BeanPostProcessor { |
postProcessBeforeInitialization
- Bean 이 초기화되기 전에 호출되는 메소드
postProcessAfterInitialization
- Bean 이 초기화된 후에 호출되는 메소드
BeanPostProcessor 생성
BeanPostProcessor 인터페이스를 구현한 AToBPostProcessor 에서는 Bean 이 초기화 된후 넘어온 객체가 A 일 경우 B 객체로 새로 생성해 반환한다.
|
|
09:39:32.378 [Test worker] INFO hello.proxy.postprocessor.BasicTest$AToBPostProcessor - beanName = beanA bean = hello.proxy.postprocessor.BasicTest$A@4b4dd216 |