1、导入AOP相关坐标
2、创建目标接口和目标类(内部包含有切点)
3、创建切面类(内部包含有增强方法)
4、将目标类和切面类的对象创建权交给spring
5、在applicationContext.xml中配置织入关系
6、测试代码
附:
一、配置织入关系时,切点表达式的写法
表达式语法:
execution([修饰符]返回值类型 包名.类名.方法名(参数))
注:
(1)访问修饰符可以省略。
(2)返回值类型、包名、类型、方法名可以使用星号*代表任意。
(3)包名与类名之间一个点.代表当前包下的类,两个点..表示当前包及其子包下的类
(4)参数列表可以使用两个点..表示任意个数,任意类型的参数类型。
例如:
execution(public void com.itheima.aop.Target.method())
execution(void com.itheima.aop.Target.*(..))
execution(* com.itheima.aop.*.*(..))
execution(* com.itheima.aop..*.*(..))
execution(* *..*.*(..))
二、配置织入关系时,通知的类型
通知的配置语法:
<aop:通知类型 method="切面类中方法名" pointcut="切点表达式"></aop:通知类型>
注意:大部分情况下,通知都是一样的,所以需要进行切点表达式的抽取,便于维护。
切点表达式的抽取:在增强中使用pointcut-ref属性代替point-cut属性来引用抽取后的切点表达式。