У меня есть интерфейс уровня обслуживания, который расширяется от базового интерфейса;Я хотел бы создать Pointcut вокруг моего интерфейса уровня обслуживания, но с помощью одного из методов, определенных в базовом интерфейсе.
Например ... У меня есть метод в базовом интерфейсе, который называется "save () ", Я поместил его в свой базовый интерфейс, поскольку только все мои" дочерние "интерфейсы будут обеспечивать функциональность" сохранения ".
Я хотел бы создать PointCut только на одном из моих «дочерних» интерфейсов, когда будет вызвано мое «save».
Я создал pointcut следующим образом:
@Pointcut("execution(* com.xyz.someapp.ChildServiceInterface.save(..))")
public void childServiceSavePointCut();
Затем я создал совет @Around для указанного выше pointcut, как показано ниже:
@Around("childServiceSavePointCut()")
public void doMyAdvice()....
где "ChildServiceInterfacemsgstr "расширяет другой интерфейс, в котором определен метод" save () ".
Мой Совет никогда не запускается ... Я отладил свой код и не вижу своего Совета в списке Советников для моей целевой службы.
Я не уверен, что это сработает, или я неправильно его реализую?