Spring的基于Aspectj的XML配置的AOP开发

Spring对于AOP开发有两种模式:一是Spring本身的AOP开发,这种模式配置起来比较麻烦,我们用得不多,不介绍。二是使用Aspectj进行AOP开发,这个又有两种模式,一个是基于XML配置的Aspectj,另外一个是基于Aspectj注解的开发。

下面分别介绍这两种开发模式的第一种。

一、基于XML方式的Aspectj

为了方便,将最后的配置文件抓图:

Spring的基于Aspectj的XML配置的AOP开发

步骤如下:

1.创建项目,引入jar包,如下图:test包是做spring测试用的,如果测试不使用spring和junit4整合,可以不要这个包。

Spring的基于Aspectj的XML配置的AOP开发

 2.创建配置文件,引入aop命名空间

Spring的基于Aspectj的XML配置的AOP开发

3.创建目标类(可以是接口的实现类,也可以直接类)

Spring的基于Aspectj的XML配置的AOP开发

4.在配置文件中配置目标对象的bean

Spring的基于Aspectj的XML配置的AOP开发

5.创建切面类,里面定义几个方法,分别表示前置、后置、环绕、异常、最终通知

 Spring的基于Aspectj的XML配置的AOP开发

6。配置切面类

 Spring的基于Aspectj的XML配置的AOP开发

7.配置切面、通知和切入点

Spring的基于Aspectj的XML配置的AOP开发

8.测试,

8.1 普通的JUnit4测试

Spring的基于Aspectj的XML配置的AOP开发

如果find方法出现异常,结果与8.2的异常测试一样。

 

 

8.2 使用spring整合junit进行测试

 Spring的基于Aspectj的XML配置的AOP开发

测试结果:

 Spring的基于Aspectj的XML配置的AOP开发

如果find方法出现异常,例如int i=1/0

Spring的基于Aspectj的XML配置的AOP开发

 测试结果为:

Spring的基于Aspectj的XML配置的AOP开发