Introduction을 이용해 POJO에 기능 더하기
introduction 이란?
- AOP 어드바이스의 특별한 타입
- 객체가 어떤 인터페이스의 구현 클래스를 공급받아 동적으로 인터페이스를 구현하는 기술
- 객체가 런타임에 구현 클래스를 상속하는 것처럼 보임
- 다중 상속 가능
동작 원리 : introduction은 동적 프록시에 여러 인터페이스를 지정해 작동
사용법
@Aspect
@Component
public class Exam {
@DeclareParents(
value = "패키지명.클래스명",
defaultImpl = 구현클래스명.class
)
public Interface1 interface1;
@DeclareParents(
value = "패키지명.클래스명",
defaultImpl = 구현클래스명.class
)
public Interface2 interface2;
}
- 위와 같이 introduction을 만들고 사용할 클래스에서 빈 객체를 생성해 사용할 수 있다.
'스프링 5 레시피 > 스프링 코어' 카테고리의 다른 글
AspectJ 포인트컷 표현식 작성하기 (0) | 2021.04.13 |
---|---|
AOP 지향 프로그래밍 (0) | 2021.04.12 |