일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 하모니카 OS 5
- select
- it
- 개발시작전 자세
- 시퀀스 조회
- StringUtils.hasText
- 다른사람 프로젝트 수정전 가져야할 자세
- 추천 사이트
- 명령어
- JSON
- 리눅스
- js
- 추천 프로그램
- cmd
- Intellij
- 타임리프
- 설정
- Test 룸북 사용하기
- BindingResult
- 룸북
- 스프링부트
- 타임리프와 스프링
- 함수 인자값 id
- 자바스크립트 인라인
- #{..}
- 프로젝트 클린
- 비밀번호 변경 명령어
- 순서 보장
- linux
- Java
Archives
- Today
- Total
웹개발 블로그
[AOP] 💥💥포인트컷 지시자 - execution 본문
PointCut
조인 포인트 중에서 어드바이스가 적용될 위치를 선별하는 기능
execution (포인트컷 지시자 중 하나)
메소드 실행 조인 포인트를 매칭한다. 스프링 AOP에서 가장 많이 사용하고, 기능도 복잡하다.
형식 : execution(접근제어자? 반환타입 선언타입?메서드이름(파라미터) 예외?)
- 메소드 실행 조인 포인트를 매칭한다.
- ?는 생략할 수 있다.
- * 같은 패턴을 지정할 수 있다.
예시1
execution(public String hello.aop.member.MemberServiceImpl.hello(String))
설명
접근제어자 : public
반환타입 : String
선업타입 : hello.aop.member.MemberServiceImpl
메서드이름 : hello
파라미터 : (String)
예외? : 생략
예시2 - 가장 많이 생략한 포인트 컷
execution(* *(..))
설명
접근제어자?:생략
반환타입: * <-- 아무 값이 들어와도 됨.
선언타입?: 생략
메서드이름: *
파라미터: (..) <-- 파라미터의 타입과 파라미터 수가 상관없다는 뜻.
예외?: 없음
패키지 명
. : 정확하게 해당 위치의 패키지
.. : 해당 위치의 패키지와 그 하위 패키지도 포함
메서드 명 매칭
hello(..)
hel*(..)
*el*(..)
💥 메서드 이름 앞 뒤에 *을 사용해서 매칭할 수 있다.
메서드 파라미터 타입 제한(아래 메소드명 전체 가능하다는 가정 )
*(String, *) : 파라미터 갯수 2개 제한, 첫번째 파라미터 String 고
*(String, ..) : 첫번째 파라미터는 String타입 고정, 뒤에는 숫자와 무관하게 모든 파라미터 , 모든 타입을 허용
*(String, String) : 파라미터 둘다 String 타입
*(..) : 뒤에는 숫자와 무관하게 모든 파라미터 , 모든 타입을 허용(💥파라미터가 없어도 됨) == 0..* 으로 이해하면 됨.
'◆ SPRING BOOT > AOP' 카테고리의 다른 글
[AOP] AOP의 개요와 용어 (0) | 2024.10.31 |
---|---|
[AOP] 💥(중요) 프록시는 여러개 생성되나? (0) | 2024.08.13 |
[AOP] 어드바이스 종류 (0) | 2024.08.13 |
[AOP] 간단한 용어 정리 (0) | 2024.08.08 |
[Spring]스프링 AOP 용어 정리 (0) | 2024.05.04 |