Я перепробовал много комбинаций, но я не могу вызвать функцию обратного вызова перед выполнением следующего методаКак написать выражение AspectJ AOP для этого метода?
@SomeAnnotation(...)
@Override
public void someMethod(Serializable id) {
}
Я пытался много комбинаций, аналогичных
@Before("execution(@com.full.name.of.SomeAnnotation * com.full.name.of.Class.someMethod(java.io.Serializable))")
public void beforeMethod() {
System.out.println("I am here.");
}
Если я пишу более общий expession, она попадет beforeMethod
, но я не могу настроить таргетинг на один конкретный метод. Что мне здесь не хватает?
Вопрос неясен. Пожалуйста, отредактируйте и скажите мне, что вы хотите совместить. Что такое «более общее выражение»? Вы хотите совместить все методы с этой аннотацией? Что-то другое? Нужно ли привязать аннотацию к параметру, чтобы получить доступ к его параметрам? Я не люблю догадываться, поэтому, пожалуйста, уточните. Тогда я легко смогу вам помочь. – kriegaex
@kriegaex, я хочу совместить один метод «someMethod».Более общим я имею в виду: если я пытаюсь настроить все методы класса, это работает, но я не знаю, как сопоставить один и только один метод, определение которого приведено выше –
Но вы знаете! Ваш собственный пример делает именно это. Что с этим не так? Я думал, вы хотите каким-то образом обобщить. – kriegaex