AOP不用注解,进行方法的简单增强入门

步骤:

1.引入依赖

2.创建配置文件

3.创建切面类

4.创建接口类 和实现类

5.创建测试类



第一步:引入依赖

主要引入以下jar包坐标:

spring-context包


spring-test包


aspect jweaver包(1.8.7版本以上)


junit包




第二步:创建配置文件

开启注解包,用于创建类对象,如下图


2.使用 标签引入aop约束,如下图


3.在标签内注入aspect切面对象,如下图


4.由于上图中aspect切面对象,引用于Log对象,因此要使用bean对象来创建Log对象,如下图


aspect‘对象报红错误,是因为我们还没有创建这个类,在第三步,我们会创建aspect类

5.在aspect切面中,配置切点,如下图


对于上面execution中的表达式,做一下解释:

第一个 *  表示的是任意的返回值类型

第二个 * 表示的是任意的类

第三个 * 表示的是类中任意的方法

最后(..)表示的是方法中任意的参数

总结一下上面图的意思:

只要是位于cn.kgc.impl包下面的类,不管类中有什么方法,不管方法的返回值类型是什么,也不管方法中的参数是什么,都被认为是符合条件的切点

6.在aspect切面中设置通知类型和被通知的切点

如下图


解释一下标签中的内容;

1.  冒号后面的  before 、after、after-throwing 、around指的都是通知的类型:前置通知、后置通知、异常通知、环绕通知

2.method: 后面的  “ before ”、“after”、“’ after-throwing‘、”around“指的是我们在切面类中定义的增强方法,我们在第三步,创建切面类的时候要创建这些方法

3.pointcut-ref=  “ pointcut”指的是要被通知(方法增强)的切点(类)



第三步:创建切面类

创建切面类的路径名称要和,我们刚才在配置文件中设置的名称保持一致,就是下面这个路径


创建好aspect切面类之后

按照配置文件中写好的各种通知方法名,创建通知方法,如下




第四步:创建接口和实现类

1.创建接口Dao

在接口中定义一个抽象方法

public void print  (  );

2.创建接口实现类

注意:实现类的全限定类名,要和我们刚才在配置文件中所设置的保持一致,就是下面这个路径:


1.所以我们创建的实现类路径应该是:

cn.kgc.impl.DaoImpl

2.实现接口中的抽象方法,如下图




第五步:编写测试类

1.整合spring和junit包

2.读取配置文件

3.注入dao层对象

4.调用dao层方法

如下图

你可能感兴趣的:(AOP不用注解,进行方法的简单增强入门)