복붙노트

[SPRING] 자바 Aspectj는 메소드에서 사용되는 리턴 값

SPRING

자바 Aspectj는 메소드에서 사용되는 리턴 값

특정 로직을 실행하는 @After 자바 애스펙트가 있습니다. aspect의 pointcut에 의해 인터셉트 된 메소드에서 사용될 수있는 결과 (객체)를 반환 할 필요가있다. 가능한가?

해결법

  1. ==============================

    1.필요한 것은 @Around로, 당신이 원하는 것을 당신이 조언 한 물건으로 되돌릴 수 있습니다 :

    필요한 것은 @Around로, 당신이 원하는 것을 당신이 조언 한 물건으로 되돌릴 수 있습니다 :

    @Around("com.xyz.myapp.UserService.createUser()")
    public Object userCreationAdvice(ProceedingJoinPoint pjp) throws Throwable {
        //Do something if needed before method execution
        Object retVal = pjp.proceed();
        //Do something if needed after method execution
        return retVal;
    }
    
  2. from https://stackoverflow.com/questions/37278282/java-aspect-returned-value-to-be-used-in-the-method by cc-by-sa and MIT license