AspectJ\Spring AOP - замена всего метода

У меня есть следующий метод:

public ClassifyCamel(Camel camel) { if (camel.isHavingSingleHump()) { return SINGLE_HUMP_CAMEL; } }

Возможно ли создать аспект, который заменяет всю логику метода? например:

@Aspect . . @Before("ClassifyCamel") { if (camel.isRich) { return RICH_CAMEL; } }

Лучший.

1 ответ

Вы можете использовать совет @Around для выполнения некоторого журнала до и после выполнения вашего метода.

Здесь вы можете проверить пример:

@Aspect
public class LoggingAspect { @Around("execution(* com.yourPackage.YourClass.yourMethod(..))") public void logAround(ProceedingJoinPoint joinPoint) throws Throwable { System.out.println("Around before is running!"); /* * IF YOU DON'T DO THIS YOU CAN SKIP YOUR METHOD EXECUTION. * You can do whatever you need */ joinPoint.proceed(); //execute the method. System.out.println("Around after is running!"); }
}

Надеюсь помочь

licensed under cc by-sa 3.0 with attribution.