반응형
이전 포스팅에 이어 좀더 심화 정리를 추가하려고 한다.
1. 여러개의 execution 정의
-> 표현식을 사용한다.
and 는 && , or 는 || 등을 사용하여
@Before("execution(* com..*.*(..)) && @annotation(org.apache.ibatis.annotations.Mapper)")
이와 같이 정의해준다.
2. 호출된 메서드에 대한 정보
->
System.out.println("location Name :" + jp.getTarget().getClass().getName());
System.out.println("method Name :" + jp.getSignature().getName());
System.out.println("uri Name :" + request.getRequestURI());
이와 같이 사용을 하면 joinpoint 와 object return 에 대한 정보를 얻을 수 있다.
3. 메서드가 실행 되면서 호출된 모든 메서드 리스트 출력
-> 이부분은 자바와 aop 의 응용이지만 정리를 위해 적어둔다.
private List<String> methodList = new ArrayList<>(); @Before("execution(* com.example.*.*(..))") public void beforeMethodExecution(JoinPoint joinPoint) { String methodName = joinPoint.getSignature().getName(); methodList.add(methodName); } @AfterReturning("execution(* com.example.*.*(..))") public void afterMethodExecution() { // 트랜잭션 종료 시점에서 호출된 모든 메서드 리스트 출력 또는 다른 작업 수행 for (String methodName : methodList) { System.out.println("Called method: " + methodName); } methodList.clear(); } |
반응형
'IT > Java' 카테고리의 다른 글
mybatis 에서 dto camel case 적용 (59) | 2023.05.29 |
---|---|
@Data annotation 과 getter 의 관계(23.05.24) (30) | 2023.05.25 |
aop pointcut 정리 (24) | 2023.05.14 |
springboot AOP 설정하기 (35) | 2023.05.13 |
[Map]getOrDefault 사용법 및 예제 (25) | 2023.05.12 |
댓글