title: Spring AOP - why do i need aspectjweaver?
body: <p>i wrote a very simple Aspect with Spring AOP. It works, but i have some problems understanding what is really going on. I don't understand why i have to add the aspectjweaver.jar? The Spring-AOP documentation clearly states that i don't need aspectj compiler or weaver as long as i just use Spring-AOP:</p>
  
  <blockquote>
    <p>The AOP runtime is still pure Spring AOP though, and there is no dependency on the AspectJ compiler or weaver.</p>
  </blockquote>
  
  <p>My configuration looks like this:</p>
  
  <pre><code>&lt;aop:aspectj-autoproxy /&gt;
  
  @Aspect
  @Service
  public class RemoteInvocationAspect {
  
      @Before("execution(* at.test.mypackage.*.*(..))")
      public void test() {
          System.out.println("test");
      }
      ...
  </code></pre>
  
  <p>I also tried XML configuration, didn't change anything though. Maybe i could just let it go, but i really would like to understand why aspectj-weaver is used? If i don't add the dependency in maven i get  <code>java.lang.ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException</code></p>