로딩
요청 처리 중입니다...

spring boot + proxy 기술 ( CGLIB )

 spring boot + proxy 기술 ( CGLIB )

이번 시간에서는 인터페이스 없이 구체클래스만 있는 경우 #CGLIB 이라는 오픈 소스를 이용해서 proxy 를 만드는 방법에 대해 알아보겠습니다. 동적 jdk 프록시에는 아래 인터페이스를 이용해서 프록시를 만들었습니다.

CGLIB 에서는 아래 인터페이스를 이용합니다. 패키지명을 보니 springframework 의 것입니다.

원래는 오픈소스인데 스프링에서 내장시켰습니다. 그래서 따로 의존성을 넣을 필요가 없습니다.

메서드의 모양이 동적 jdk 프록시와 유사합니다. 파라미터로 수행할 함수 정보를 받아오고 실행결과를 Object 타입으로 리턴합니다.

즉 템플릿콜백 패턴과 유사하게 파라미터를 통해 수행할 함수 정보를 받아오는 방식입니다. 스프링에서는 CGLIB 을 직접 사용해서 프록시로 만들 필요가 없습니다.

편리하게 사용하라고 #ProxyFactory 를 제공해주고 있고 이걸 통해서 동적 JDK 프록시나 CGLIB을 통한 구체클래스 프록시를 모두 만들 수 있기 때문입니다. 여기서는 사용...

# CGLIB # ProxyFactory