Let's look at the differences between Spring AOP (runtime weaving) and AspectJ (compile-time and LTW).