位置: IT常识 - 正文

【Spring】一文带你吃透AOP面向切面编程技术(上篇)(spring的文章)

编辑:rootadmin
【Spring】一文带你吃透AOP面向切面编程技术(上篇)

推荐整理分享【Spring】一文带你吃透AOP面向切面编程技术(上篇)(spring的文章),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:spring的短文,spring的dao,spring的内容,spring范文,spring中,spring中,spring中,spring中,内容如对您有帮助,希望把文章链接给更多的朋友!

个人主页: 几分醉意的CSDN博客_传送门

文章目录💖AOP概念✨AOP作用✨AOP术语✨什么时候需要用AOP💖Aspectj框架介绍✨Aspectj的5个通知注解✨Aspectj切入点表达式✨前置通知@Before💖投票传送门(欢迎伙伴们投票)💖AOP概念

什么是AOP?

AOP(Aspect Orient Programming):面向切面编程

Aspect:表示切面,给业务方法增加的功能,叫做切面。切面一般都是非业务功能,而且切面功能一般都是可以复用的。例如日志功能,事务功能,权限检查,参数检查,统计信息等等。

Orient:面向,对着

Programming:编程。

怎么理解面向切面编程? 以切面为核心设计开发你的应用。1)设计项目时,找出切面的功能。2)安排切面的执行时间,执行的位置。

✨AOP作用

1. 让切面功能复用 2. 让开发人员专注业务逻辑。提高开发效率 3. 实现业务功能和其他非业务功能解耦合。 4. 给存在的业务方法,增加功能,不用修改原来的代码

✨AOP术语

AOP中重要的三个要素:Aspect,Pointcut,Advice.这个概念的理解是:在Advice的时间,在Pointcut的位置, 执行Aspect。

Aspect:切面,给业务方法增加的功能。

JoinPoint:连接点,连接切面的业务方法。在这个业务方法执行时,会同时执行切面的功能。

【Spring】一文带你吃透AOP面向切面编程技术(上篇)(spring的文章)

Pointcut:切入点,是一个或多个连接点集合。表示这些方法执行时,都能增加切面的功能。表示切面执行的位置。

target:目标对象,给那个对象增加切面的功能,这个对象就是目标对象。

Advice:通知(增强),表示切面的执行时间。在目标方法之前执行切面,还是目标方法之后执行切面。

AOP是一个动态的思想。在程序运行期间,创建代理(ServcieProxy),使用代理执行方法时,增加切面的功能。这个代理对象是存在内存中的。

✨什么时候需要用AOP

你要给某些方法增加相同的一些功能。源代码不能改。给业务方法增加非业务功能,也可以使用AOP。

💖Aspectj框架介绍

AOP技术思想的实现:使用框架实现AOP。实现AOP的框架有很多。有名的两个

1. Spring:Spring框架实现AOP思想中的部分功能。Spring框架实现AOP的操作比较繁琐,笨重。 2. Aspectj:独立的框架,专门做AOp的,功能最强大的。属于Eclipse。

而我下面主要介绍的就是Aspectj框架来实现Aop,Aspectj框架可以使用注解和xml配置文件两种方式实现AOP。

✨Aspectj的5个通知注解

Aspectj表示切面执行时间,用的通知(Advice)。这个通知可以使用注解表示。讲5个注解,表示切面的5个执行时间,这些注解叫做通知注解。

@Before :前置通知

@AfterRetunring: 后置通知

@Around: 环绕通知

@AfterThrowing:异常通知

@After:最终通知

✨Aspectj切入点表达式

Pointcut 位置

Pointcut用来表示切面执行的位置,使用Aspectj中切入点表达式。

切入点表达式语法:execution(访问权限 方法返回值 方法
本文链接地址:https://www.jiuchutong.com/zhishi/299635.html 转载请保留说明!

上一篇:AI遮天传 ML-无监督学习(遮天传贴吧)

下一篇:Node.js | 从前端到全栈的必经之路(nodejs如何与前端交互)

  • 苹果13怎么查激活时间(苹果13怎么查激活)

    苹果13怎么查激活时间(苹果13怎么查激活)

  • 苹果13激活了可以退吗(苹果13激活了可以换颜色吗)

    苹果13激活了可以退吗(苹果13激活了可以换颜色吗)

  • realmev11电池容量是多少(realme手机电池容量)

    realmev11电池容量是多少(realme手机电池容量)

  • 向日葵远程控制主机系统账户名是什么(向日葵远程控制官方下载)

    向日葵远程控制主机系统账户名是什么(向日葵远程控制官方下载)

  • 小米内容中心推送怎么关闭(小米内容中心app)

    小米内容中心推送怎么关闭(小米内容中心app)

  • 小米手机已连接wifi但无法访问互联网(小米手机已连接(不可上网)怎么解决)

    小米手机已连接wifi但无法访问互联网(小米手机已连接(不可上网)怎么解决)

  • 群主踢人出微信群别人能看到吗(微信群主踢人,被踢者知道吗)

    群主踢人出微信群别人能看到吗(微信群主踢人,被踢者知道吗)

  • airpods充电盒一直橙色灯(airpods充电盒一直显示38的电量)

    airpods充电盒一直橙色灯(airpods充电盒一直显示38的电量)

  • 退出qq和退出账号有什么区别(退出qq和退出当前账号是什么意思)

    退出qq和退出账号有什么区别(退出qq和退出当前账号是什么意思)

  • 苹果xr亮度自动调节怎么关(苹果xr亮度自动调节)

    苹果xr亮度自动调节怎么关(苹果xr亮度自动调节)

  • 电脑f盘是干什么的(电脑f盘是干什么用的)

    电脑f盘是干什么的(电脑f盘是干什么用的)

  • 手机干什么最费电(手机干什么费流量快)

    手机干什么最费电(手机干什么费流量快)

  • csv数据包是什么意思(csv数据文件下载)

    csv数据包是什么意思(csv数据文件下载)

  • 拼多多好评置顶是什么意思(拼多多好评置顶在哪里查看)

    拼多多好评置顶是什么意思(拼多多好评置顶在哪里查看)

  • 苹果11用的什么cpu(苹果11用的什么基带)

    苹果11用的什么cpu(苹果11用的什么基带)

  • 二维码收款码怎么申请(二维码收款码怎么变成商家码)

    二维码收款码怎么申请(二维码收款码怎么变成商家码)

  • 预售商品怎么加入购物车(预售商品怎么上架)

    预售商品怎么加入购物车(预售商品怎么上架)

  • 苹果xsmax有指纹么(苹果xsmax有指纹识别功能吗)

    苹果xsmax有指纹么(苹果xsmax有指纹识别功能吗)

  • 小米手机怎么设置防盗系统(小米手机怎么设置自动开关机)

    小米手机怎么设置防盗系统(小米手机怎么设置自动开关机)

  • qq带个耳朵什么意思(qq上带个耳朵什么意思)

    qq带个耳朵什么意思(qq上带个耳朵什么意思)

  • cam的含义是(cam的含义是什么意思)

    cam的含义是(cam的含义是什么意思)

  • 【Web后端架构】2022年10个最佳Web开发后端框架(web后端开发框架有哪些)

    【Web后端架构】2022年10个最佳Web开发后端框架(web后端开发框架有哪些)

  • 【OpenAI】基于 Gym-CarRacing 的自动驾驶项目 | 车道检测功能的实现 | 边缘检测与分配 | 样条拟合(openeuler基于)

    【OpenAI】基于 Gym-CarRacing 的自动驾驶项目 | 车道检测功能的实现 | 边缘检测与分配 | 样条拟合(openeuler基于)

  • OpenGL 曝光度调节(opengl环境光参数)

    OpenGL 曝光度调节(opengl环境光参数)

  • 个税一般劳务报酬所得如何申报
  • 个人所得税怎么申报退税
  • 劳务公司的个税如何申报
  • 诚信纳税的含义是什么
  • 税收分类编码怎么导出来
  • 财税筹划课程
  • 固定资产进项税怎么入账
  • 增值税电子普通发票怎么作废
  • 收支平衡表excel怎么做
  • 小规模核定征收需要做账吗
  • 会计折旧法有哪几种
  • 担保人的损失
  • 所得税汇算清缴时间期限
  • 保险没有合同能退保吗
  • 企业所得税弥补亏损明细表怎么填写
  • 物业公司营改增税务筹划方案
  • 收到保险返利计入什么
  • 以前年度企业所得税少计提实际已交
  • 企业公户转别的公司公户他不给开发票怎么操作?
  • 一般纳税人证明在哪里打印
  • 审计费可以抵扣进项吗
  • 先收钱后开票怎么做分录
  • 资产负债表在建工程怎么填列
  • 固定资产更改折旧年限怎么账务处理
  • 印花税可以计入在建工程吗
  • 华为鸿蒙怎么搞
  • 贴现利息由谁承担
  • 个体工商户经营范围分类目录
  • 要约与要约邀请的主要区别
  • linux的pipe
  • git pull远程
  • fxssvc.exe
  • php字符串函数有哪些
  • 来料加工方式中,料件和加工后
  • 腾达ac9路由器怎么样
  • 原材料按实际成本核算的会计处理
  • yolov8目标检测测试输出类别个数
  • 个人代开普票的个人经营所得税如何计算
  • php处理数据
  • vue 播放视频流
  • spring boot 2.3.0
  • 人力资源预算包括哪些内容
  • 小规模纳税人税率2023年是多少
  • 并发环境下,共享资源的正确使用方式是
  • mysql日期和时间分开存的 索引
  • 票据的收款人和持票人有什么区别
  • 未开票收入如何记账
  • 计提的费用收到发票时候怎么做账
  • 普通发票可以抵扣吗
  • 企业取得的财政性资金
  • 固定资产的计提折旧方法有哪些
  • 装修费用摊销的会计分录怎么写
  • 公允价值变动损益和投资收益区别
  • 银行存款收入范围有哪些
  • 购入研发设备可以抵扣吗
  • 装修费用摊销是指什么
  • 建账时应取得哪些资料
  • 原始凭证书写要求
  • supervisor.sock refused connection
  • mysql支持的数据类型主要有哪几类
  • linux系统中cron命令
  • Win10预览版怎么变回正式版
  • ubuntu终端终止正在执行的命令
  • git连接linux服务器
  • RegSrvc.exe - RegSrvc是什么进程 有什么用
  • window10关闭
  • win7怎么设置u盘启动为第一启动项
  • LayoutInflater.inflate方法解析
  • perl 获取数据库查询结果
  • python3 args
  • Python Requests 基础入门
  • 安卓使用icloud
  • 目前光伏太阳能组件产量最高的国家是( )
  • 土地增值税申报流程图
  • 关于增值税纳税人的规定,下列说法正确的是
  • 发票如何验真伪?
  • 地税是地方税吗
  • 长春税务局待遇如何
  • 课税对象与征税对象一样吗
  • 本季度可以弥补上季度亏损吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设