Let’s say you have an aspect defined that will be applied to a class:
<bean id="someComponent" class="org.dotkam.SomeComponent" /> <aop:config> <aop:aspect ref="someAspect"> <aop:around method="someMethod" pointcut="execution(public * org.dotkam.SomeComponent.*(..))" /> </aop:aspect> </aop:config> |
and you of course have “proxy-target-class” set to “true”:
<aop:aspectj-autoproxy proxy-target-class="true"/> |
Here is how to check if the aspect was applied:
import static org.junit.Assert.assertTrue; import net.sf.cglib.proxy.Enhancer; ... ... @Resource(name="someComponent") SomeComponent someComponent ... ... assertTrue( Enhancer.isEnhanced( someComponent.getClass() ) ); |
Behind the scenes it is enhanced with CGLIB’s Enhancer that has a convenient isEnhanced method.
Useful when developing aspects.
NOTE: The above is true given, of course, that this is THE ONLY aspect applied to this component.