In addition to declaring aspects in your configuration using either
<aop:config>
or
<aop:aspectj-autoproxy>
, it is also possible
programmatically to create proxies that advise target objects. For the
full details of Spring's AOP API, see the next chapter. Here we want to
focus on the ability to automatically create proxies using @AspectJ
aspects.
The class
org.springframework.aop.aspectj.annotation.AspectJProxyFactory
can be used to create a proxy for a target object that is advised by one
or more @AspectJ aspects. Basic usage for this class is very simple, as
illustrated below. See the Javadocs for full information.
// create a factory that can generate a proxy for the given target object AspectJProxyFactory factory = new AspectJProxyFactory(targetObject); // add an aspect, the class must be an @AspectJ aspect // you can call this as many times as you need with different aspects factory.addAspect(SecurityManager.class); // you can also add existing aspect instances, the type of the object supplied must be an @AspectJ aspect factory.addAspect(usageTracker); // now get the proxy object... MyInterfaceType proxy = factory.getProxy();