728x90
728x90
프록시 팩토리- 스프링에서 동적프록시(JDK 동적프록시, CGLIB)을 통합해서 편리하게 사용하게끔 제공해준 템플릿✨
인터페이스가 있으면 JDK 동적프록시 사용, 구체클래스면 CGLIB을 사용하여 동적 프록시 생성을 함, 설정 가능
인터페이스, 클래스에 따라 프록시 팩토리에서 adviceInvocationHandler( JDK 동적프록시), adviceMethodInterceptor(CGLIB)를 사용하여 advcie를 호출함
advice 생성 방법 👀
- MethodInterceptor(aopalliance 패키지)을 implments 하여 부가 로직을 작성하고 invaction.proceed()로 프록시 대상이 될 실제 객체 로직을 호출하면 된다.
proxyFactory 생성방법 👀
- proxyFactory proxy = new ProxyFactory(위에서 만든 advice 클래스 주입)
proxy.save()로 실행 가능
프록시 팩토리로 만들었을 때 프록시인지 확인 방법
Assetions.assertThat(AopUtils.isAopProxy(proxy)).isTrue();
AOP에서 용어 정리
포인트컷 : 부가기능을 어디에 적용할지 필터링 하는 로직
어드바이스 : 프록시에 추가된 부가 기능
어드바이저 : 하나의 포인트컷 + 하나의 어드바이스
'개발 관련 부가 지식 > 자바, 스프링' 카테고리의 다른 글
자바 객체 타입은 불변으로, 비교 방법 (공유참조, 값 복사) (0) | 2023.02.14 |
---|---|
스프링 JPA 사용, 프록시 entity 확인 메소드 (0) | 2023.02.13 |
자바란, JVM 구조에 대해서 정리 (0) | 2023.01.19 |
멀티쓰레드 Test code 작성 및 동기화 방법 (0) | 2023.01.09 |
intellij 단축키 정리 중 (0) | 2022.09.04 |