AOP关于注解和XML配置的一些说明: https://my.oschina.net/dajianguo/blog/1143035

AspectJ切入点语法详解 http://www.procedurego.com/article/138725.html

1.通知方式
@Before 前置通知
@After 后置通知
@Around 环绕通知
@AfterThrowing 异常通知
@AfterReturning 返回通知

2.启动自动代理
@EnableAspectJAutoProxy
<aop:aspectj-autoproxy/>

3.切入点 execution(* com.sp.sp2.SgtPeppers3.play(..)
*代表任意返回值
..代表任意参数

4.向原有类注入新的方法
@DeclareParents(value=”com.sp.sp2.CompactDisc2+”,defaultImpl=DefaultAddon.class)
public Addon add;
value要注入的对象 +表示所有实现该接口的对象
defaultImpl表示要注入的方法所在实现类 Addon是要注入的方法类的接口 DefaultAddon是他的一个实现

5.XML方式
aop:before
aop:after
aop:around
aop:after-returning
aop:after-throwing
aop:aspect
aop:aspectj-autoproxy
aop:pointcut
aop:config
aop:declare-parents

方式一:

方式二:

方式三: