- 导入AOP坐标
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.5</version>
</dependency>
- 创建目标接口和目标类,也就是需要被增强的目标Target
- 创建切面类,内部含有增强方法(Advice)
- 配置文件,含有两个部分
- 将目标类和切面类导入IOC容器
- 配置切面的织入关系
<aop:config>
<aop:aspect ref="myAspect">
<aop:before method="before" pointcut="execution(public void com.aop.Target.save())"/>
</aop:aspect>
</aop:config>
- 测试实现
对于配置文件中的pointcut
的切点表达式的写法:
例如execution(* com.aop.*.*(..))
表示任意返回值、com.aop
包下任意类的所有方法(不包括其子包,参数也不限)
对于上面增强类型的配置,有以下几种:
上面例子属于前置通知