Spring中的AOP切面编程的三种实现方式

Spring中的AOP切面编程的三种实现方式

1.最基本AOP的实现

a.引入jar包

jar包的引入如下图:

在这里插入图片描述

b.编写通知类,这里以后置通知和环绕通知类为例子进行说明

通知类的编写如下图:

在这里插入图片描述

在这里插入图片描述

c.在SpringIOC容器中配置

如下图:

在这里插入图片描述

d.测试

在这里插入图片描述

2.使用注解对AOP进行实现

a.引入jar包

jar包的引入如下图:

在这里插入图片描述

b.编写基于注解的AOP通知类

如下图:

在这里插入图片描述

在这里插入图片描述

c.在SpringIOC容器中配置

如下图:

在这里插入图片描述

d.测试

这样在对应的切面中的java方法执行之后,前置通知方法会在此java方法执行之前先执行,后置通知方法会在此java方法执行之后再执行,而异常通知方法会在java方法出现异常之后执行,环绕通知方法会在java方法执行的前后执行,最终通知会在整个方法执行之后无论有没有异常都会执行;

3.基于自定义形式的AOP的实现

a.引入jar包

jar包的引入如下图:

在这里插入图片描述

b.编写基于自定义形式的AOP切面编程类

如下图:

在这里插入图片描述

c.在SpringIOC容器中配置

如下图:

在这里插入图片描述

切入点execution的使用方法

切入点对应的execution()小括号内的内容可以有多种书写形式,目前我掌握了两种,
1.void org.lanqiao.service.impl.StudentServiceImpl.addStudent(org.lanqiao.entity.Student))这种形式表示切入点是
org.lanqiao.service.impl包中的StudentServiceImpl类中的方法名字是addStudent,只有一个参数,参数类型是

​ org.lanqiao.entity.Student,返回值类型是void,的方法,注意方法的参数只写类型的全类名
​ 2.* org.lanqiao.service.impl.星号.星号(…)此中形式表示切入点是org.lanqiao.service.impl包中的所有的方法
​ 第一个星号代表的是所有的返回类型,第二个星号代表org.lanqiao.service.impl包中的所有的类,第三个*表示类中所有的方法,
​ …代表的是方法的所有参数类型

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr-X~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值