回顾一下:
Spring 的四种4种类型的AOP支持:
* 1.基于代理的经典SpringAOP
* 2.纯POJO切面
* 3.@AspectJ注解驱动的切面
* 4.注入式AspectJ切面
前三种都是Spring AOP实现的变体,Spring AOP构建在动态代理之上,因此Spring 对AOP 的支持局限于方法拦截器,Spring 的AOP 无法把通知应用于对象的创建过程(构造方法)。
第四种类型能够将值注入到AspectJ 驱动的切面中。
前面的例子中我们常用@Aspect 来注解一个类,这些切面可能依赖于Spring容器 创建的bean 来完成它们的工作。我们可以借助Spring 的注入依赖把bean 装配到AspectJ 切面中,AspectJ 切面并不依赖于Spring 来创建切面。
场景:评论员对表演员在表演进场时鼓掌表欢迎,在表演员表演后作出评论。
1.表演接口
public interface Performance {
public void perform();
}
2.表演实现类
public class PerformanceImpl implements Performance {
//构造方法
public PerformanceImpl() {
System.out.println("演员进场...");
}
@Override
public void perform() {