>source

필드가 설정될 때 어드바이스가 실행되는 Aspect가 있습니다. 어드바이스가 실행된 메소드의 주석 객체를 얻고 싶습니다(=필드가 설정된 위치). 가능합니까?

public WovenClass {
  private int value;
  @Validated({Group1.class, Group2.class})
  public setField(int value) {
    this.value= value; //Advice should weave here and I want pass '@Validated' annotation to Advice.
  }
}
@Aspect
public class MyAspect {
  @AfterReturning(set(* *))
  public void intercept(JoinPoint jp) {
    //I want to handle '@Validated' annotation here.
  }
}

또한 모든 필드 세트에 대한 pointcut 표현식이 올바른지 여부를 알고 싶습니다. 여러 질문 죄송합니다.

code를 게시할 때 컴파일할 수 없는 의사 code를 게시하지 않도록 주의하십시오. 예를 들어, WovenClass에는 setter 메서드에 대한 class 키워드와 void 키워드가 없습니다. aspect 주석의 pointcut은 큰따옴표로 묶이지 않습니다. 앞으로 질문에 더 많은 사랑을 주시고 문제가 재현될 수 있도록 해주세요. MCVE가 무엇인지 알아보십시오. 매우 감사합니다.

kriegaex2022-01-17 11:39:13

엉망으로 만들어서 죄송합니다. 수정했습니다.

avenue682022-01-17 11:39:13
  • 이전 AWS: s3fs(iam 역할)를 통해 EC2에 S3 버킷 탑재가 실행되지만 작동하지 않음
  • 다음 docusignapi : Power Automate에서 DocuSign의 시작점은?