Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>As implied by @Dave, to enable aspects you have to 'weave' them, either at compile time (<a href="http://www.eclipse.org/aspectj/doc/next/devguide/ajc-ref.html" rel="nofollow">CTW</a>) or at class-loading time (<a href="http://www.eclipse.org/aspectj/doc/next/devguide/ltw.html" rel="nofollow">LTW</a>).</p> <p>In order to benefit from the AspectJ+Spring magic, consider using e.g. LTW, which is quite flexible (you can weave aspects even to classes from 3rd-party jars without modifying them).</p> <p>Start by reading <a href="http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/aop.html#aop-aj-ltw" rel="nofollow">the Spring Documentation</a>, it's a good entry point. Basically:</p> <ul> <li>Put a <code>&lt;context:load-time-weaver/&gt;</code> element in your Spring config</li> <li><p>Create a <code>META-INF/aop.xml</code> file in your classpath:</p> <pre><code>&lt;!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd"&gt; &lt;aspectj&gt; &lt;weaver&gt; &lt;!-- include your application-specific packages/classes --&gt; &lt;!-- Nota: you HAVE TO include your aspect class(es) too! --&gt; &lt;include within="foo.ShapeService"/&gt; &lt;include within="foo.LoggingAspect"/&gt; &lt;/weaver&gt; &lt;aspects&gt; &lt;!-- weave in your aspect(s) --&gt; &lt;aspect name="foo.LoggingAspect"/&gt; &lt;/aspects&gt; &lt;/aspectj&gt; </code></pre></li> <li>Run with the weaving java agent: <code>java -javaagent:/path/to/lib/spring-instrument.jar foo.Main</code></li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload