반응형
Pointcut 표현식
: execution 속성에 설정
execution(* com.greedy.diz..*Impl.*(..))
*: 리턴타입 / com.greedy.. : 패키지 경로 / *Impl. : 클래스명 / *(..) : 메소드명 및 매개변수
리턴 타입과 매개변수를 무시하고, com.greedy.biz.패키지로 시작하는 클래스 중
이름이 Impl로 끝나는 클래스의 모든 메소드를 뜻함.
@Pointcut 어노테이션 주요 표현식
1. 리턴타입
표현식 | 설명 |
* | 모든 리턴 타입 허용 |
void | 리턴타입이 void인 메소드만 선택 |
!void | 리턴타입이 void가 아닌 메소드 선택 |
2. 패키지
표현식 | 설명 |
com.greedy.test | 정확하게 com.greedy.test 패키지만 선택 |
com.greedy.test.. | com.greedy.test 로 시작하는 모든 패키지 선택 |
com.greedy.test..*impl | com.greedy.test 로 시작해서 마지막 패키지 이름이 impl로 끝나는 패키지 선택 |
반응형
3. 클래스
표현식 | 설명 |
BoardServiceImpl | BoardServiceImpl 클래스만 선택 |
*Impl | 클래스 이름이 Impl로 끝나는 클래스만 선택 |
BoardService+ | 클래스 이름 뒤에 '+'가 붙으면 해당 클래스로부터 파생된 모든 자식 클래스 선택 인터페이스 뒤에 '+'가 붙으면 해당 인터페이스를 구현한 모 든 클래스 선택 |
4. 메소드
표현식 | 설명 |
*(..) | 가장 기본 설정으로 모든 메소드 선택 |
get*(..) | 메소드 이름이 get으로 시작하는 모든 메소드 선택 |
5. 매개변수
표현식 | 설명 |
(..) | 매개변수의 개수와 타입에 제약이 없음을 의미 |
(*) | 반드시 1개의 매개변수를 가진 메소드 선택 |
(com.greedy.user.User VO) | 매개변수로 UserVO를 가지는 메소드만 선택, 이때 클래스의 패키지 경로는 반드시 포함 |
(!com.greedy.user.Use rVO) | 매개변수로 UserVO를 가지지 않는 메소드 |
(Integer, ..) | 한 개이상의 매개변수를 가지되, 첫번째 매개변수의 타입이 Integer 인 메소드만 선택 |
(Integer, *) | 반드시 두 개의 매개변수를 가지되, 첫번째 매개변수의 타입이 Integer 인 메소드만 선택 |
반응형
'프로그래밍 > Spring & Spring boot' 카테고리의 다른 글
[Spring/스프링] 리플렉션 Reflection (0) | 2022.09.05 |
---|---|
15 Spring : @Aspect , @Before , @AfterAdvice, @AfterReturning, @AfterThrowing, @Around 사용하기 (0) | 2022.09.02 |
13 Spring : AOP 개념 정리 (0) | 2022.09.02 |
12 Spring : bean 초기화, 소멸 설정하기(init-method , ditory-method) (0) | 2022.09.02 |
11 Spring : MessageSource를 통한 다국어 처리하는 방법 (1) | 2022.09.02 |