Разница между вызовом и выполнением в АОП
Я пытаюсь понять разницу между выполнением и вызовом в АОП как можно проще. Насколько я понимаю, execute () добавит точку соединения в исполняемый код, поэтомуHelloWorldSayer.sayHello()
в этом случае, но если точка былаcall()
тогда точка соединения будетHelloWorldSayer.main()
, Это правильно?
public class HelloWorldSayer {
public static void main (String[] args) {
sayHello();
}
public static void sayHello() {
System.out.println("Hello");
}
}
public aspect World {
public hello():
execution(static void HelloWorldSayer.sayHello());
after() hello() {
System.out.println("Bye");
}
}