Я провожу аудит для своего уровня Controller, Service и Dao. У меня есть три функции Around для Controller, Service и Dao соответственно. Я использую пользовательскую аннотацию, которая, если она присутствует в методе контроллера, вызывает функцию аспекта вокруг. Внутри аннотации я установил свойство, которое я хочу передать из функции Controller Around в функцию Service around внутри класса Aspect.
public @interface Audit{
String getType();
}
Я установлю значение этого getType из интерфейса.
@Around("execution(* com.abc.controller..*.*(..)) && @annotation(audit)")
public Object controllerAround(ProceedingJoinPoint pjp, Audit audit){
//read value from getType property of Audit annotation and pass it to service around function
}
@Around("execution(* com.abc.service..*.*(..))")
public Object serviceAround(ProceedingJoinPoint pjp){
// receive the getType property from Audit annotation and execute business logic
}
Как я могу передать объект между двумя функциями Around?