공부/Spring

포인트컷, 어드바이스, 어드바이저

kkkkkdddddhhhhh 2024. 1. 12. 19:41

 

 

포인트컷:

어디에 부가기능을 적용할지 적용하지않을지 판단하는 필터링 로직

클래스와 메서드이름으로 필터링한다.

 

어드바이스:

프록시가 호출하는 부가기능, 프록시 로직이 작성되는곳.

 

어드바이저:

포인트컷과 하나의 어드바이스를 가지고 있는것

 

이렇게 나눠둔 이유는?

"역할과 책임을 분리하기위해"

 

  • 포인트컷은 대상 여부를 확인하는 필터 역할만을 담당
  • 어드바이스는 부가기능 로직만을 담당
  • 둘을 합치면 어드바이저가 된다.

 

 프록시 팩토리를 이용할 때 어드바이저는 필수이다.

 

 

 

스프링은 target마다 하나의 프록시를 만들고

여러개의 어드바이저를 호출한다.

어드바이저당 여러개의 프록시가 생성되는것이 아님

'공부 > Spring' 카테고리의 다른 글

AOP  (0) 2024.01.14
빈 후처리기  (0) 2024.01.13
CGLIB  (0) 2024.01.11