目录
1. 步骤
2.配置spring容器配置文件
这里我们需要在配置文件中加上:
<!--组件扫描-->
<context:component-scan base-package="com.dzy"/>
<!-- aop自动扫描-->
<aop:aspectj-autoproxy/>
一个扫描所有的注解,另一个是识别到aop相关注解,开始自动的生成代理
3. 使用注解
首先我们准备好一个target类和切面类,
在target类中,我们需要将其创建bean:
@Component("tar")
public class Target implements TargetInterface {
@Override
public void save() {
System.out.println("save is running...");
}
}
采用@Component的方式创建我们的target bean,然后切面采用同样的方法,创建好bean之后,在对我们的切面进行注解,也就是告诉框架哪一个bean是切面的bean然后就是配置增强方法和对象:
@Component("aspect")
@Aspect//标注当前MyAspect是一个切面类
public class MyAspect {
@Before("execution(* com.dzy.anno.*.*(..))")//方法类型加切点表达式注解在对应通知方法上即可
public void before(){
System.out.println("前置增强......");
}
}
这里通知的注解规则如下:
跟前面的xml方法配置类似,对切面里增强方法的编写要求是一样的。
4. 切点表达式的抽取
这里的mypoint方法就是我们抽取的切点表达式的方法,而具体的路径就是在这个方法上面加入一个@Pointcut注解,然后参数就是我们抽取出的切点表达式,到这这个抽取的方法就可以用了,在通知注解参数中直接引用方法就可以了。