기본 인터페이스에서 확장 된 서비스 레이어 인터페이스가 있습니다. 내 Service-Layer Interface를 중심으로 Pointcut을 만들고 싶지만 기본 Interface에 정의 된 메소드 중 하나를 사용하고 싶습니다.인터페이스에서 애스펙트를 만드는 방법 "수퍼"인터페이스에서 확장하는 방법
예를 들어, 기본 인터페이스에 "save()"라는 메서드가 있는데, 내 모든 "자식"인터페이스가 "저장"기능을 제공하기 때문에 기본 인터페이스에 넣습니다.
내 "저장"이 호출 될 때 내 "하위"인터페이스 중 하나에서만 PointCut을 만들고 싶습니다.
내가 좋아하는 포인트 컷을 만든 다음 :@Pointcut("execution(* com.xyz.someapp.ChildServiceInterface.save(..))")
public void childServiceSavePointCut();
나는 다음과 같은 위의 포인트 컷 주위에 @Around 조언을 만든 :
"ChildServiceInterface는"있는 다른 인터페이스를 확장@Around("childServiceSavePointCut()")
public void doMyAdvice()....
"save()"메소드가 정의되었습니다.
내 조언은 절대 실행되지 않습니다 ... 내 코드를 디버깅했으며 목표 서비스에 대한 조언자 목록에 내 조언이 표시되지 않습니다.
나는이 방법이 정상적으로 작동하는지 생각하지 않습니까? 아니면 잘못 구현하고 있습니까?