spring boot + proxy 기술 ( ProxyFactory )


spring boot + proxy 기술 ( ProxyFactory )

인터페이스 기반 동적 JDK 프록시와 구체 클래스기반 CGLIB 에 대해 알아봤습니다. 인터페이스 기반 클래스는 동적 JDK 프록시를 써야 하고, 구체 클래스만 있는 경우는 CGLIB 를 써야 했습니다. 즉 if ~ else 처럼 클래스를 확인하고 필요한 기술(라이브러리)을 써야 했습니다. 스프링에서는 #ProxyFactory 라는걸 제공해서 이 클래스가 원본 target 을 확인하고 스스로 동적 JDK 프록시 혹은 구체 클래스기반 CGLIB을 이용해서 proxy 를 만들어줍니다. ProxyFactory 에서는 아래 인터페이스를 이용합니다. CGLIB 때와 같은 이름의 인터페이스이나 패키지명이 다릅니다. aop 어쩌구 저쩌구 클래스입니다. 앞의 포스팅을 쭉 봤다면 이젠 보자마자.. "대충 알겠음" 이라는 생각이 들겁니다. 아래와 같이 구현합니다. 이전과 다르다면 원본 target 을 생성자 주입받았는데 여기서는 그 부분이 없습니다. invoke() 라는 메서드의 파라미터로 원본 ta...


#AOP #ProxyFactory #boot #proxy #spring

원문링크 : spring boot + proxy 기술 ( ProxyFactory )