Spring知识梳理(4)作者没有四次元口袋的蓝胖日期2026-07-16标签Java, Spring, AOP, 面向切面编程一、AOP 是什么AOPAspect-Oriented Programming面向切面编程是对 OOP 的补充。OOP纵向继承解决类与类之间的复用封装、继承、多态AOP横向抽取解决跨多个类的公共行为复用日志、事务、权限、性能监控传统 OOP 的问题 UserService OrderService ProductService ↓ ↓ ↓ 日志代码 日志代码 日志代码 ← 重复 事务代码 事务代码 事务代码 ← 重复 权限代码 权限代码 权限代码 ← 重复 AOP 的解决方式 UserService OrderService ProductService ↓ ↓ ↓ ┌─────────┐ │ AOP 切面 │ ← 统一抽取一处维护 └─────────┘一句话总结AOP 把散落在各处的公共逻辑抽到一个地方统一管理不侵入业务代码。二、核心术语7 个必须分清术语英文含义例子切面Aspect横切关注点的模块化日志切面、事务切面连接点JoinPoint程序执行的某个点方法调用、异常抛出每个方法都是一个连接点切入点Pointcut你选择的哪些连接点要被增强execution(* service.*.*(..))通知增强Advice切入后做什么打日志、开事务目标对象Target被代理的原始对象UserService 实例代理对象ProxyAOP 生成的增强后的对象包含日志逻辑的 UserService织入Weaving把切面逻辑应用到目标对象的过程Spring 在运行时通过代理完成面试口诀切面 切入点 通知。切入点决定在哪里切入通知决定切入后做什么。连接点 vs 切入点最容易混淆连接点程序中所有可以被拦截的点所有方法是客观存在的切入点你实际选中的那些连接点是主观选择的所有方法 连接点全集 你选中的方法 切入点子集三、五种通知类型通知注解执行时机用途前置通知Before目标方法执行前参数校验、权限检查后置通知AfterReturning目标方法正常返回后日志记录环绕通知Around包裹目标方法执行事务管理、性能监控异常通知AfterThrowing目标方法抛出异常后异常处理、告警最终通知After目标方法执行后无论是否异常资源清理类似 finally执行顺序正常执行流程 Around 前半 → Before → 目标方法 → Around 后半 → AfterReturning → After 异常执行流程 Around 前半 → Before → 目标方法抛异常→ AfterThrowing → After注意After类似于finally无论正常返回还是异常都会执行。AfterReturning只在正常返回时执行。Around 为什么最强大Around(pointcut())publicObjectaround(ProceedingJoinPointpjp)throwsThrowable{// 前置逻辑longstartSystem.currentTimeMillis();// 可以决定是否执行目标方法调不调 proceed()Objectresultpjp.proceed();// 不调用则目标方法不执行// 后置逻辑longcostSystem.currentTimeMillis()-start;System.out.println(耗时: costms);// 甚至可以修改返回值returnresult;}Around能做的事✅ 控制目标方法是否执行不调proceed()就行✅ 修改入参✅ 修改返回值✅ 捕获异常不让它传播其他四种通知做不到这些。四、Spring AOP 完整执行流程客户端调用 proxy.method() ↓ 代理对象拦截方法调用 ↓ 根据 Pointcut 匹配这个方法需要被增强吗 ├── 是 → 按通知类型执行增强逻辑 │ ├── Before │ ├── 目标方法 │ ├── AfterReturning / AfterThrowing │ └── After └── 否 → 直接调用目标对象的方法五、思维导图速览Spring AOP ├── 核心思想 │ ├── 横向抽取公共逻辑日志、事务、权限 │ ├── 不修改源代码运行时织入 │ └── 底层 动态代理下篇详解 │ ├── 7 个核心术语 │ ├── Aspect切面 Pointcut Advice │ ├── JoinPoint连接点 所有可拦截的点 │ ├── Pointcut切入点 你选中的连接点 │ ├── Advice通知 切入后做什么 │ ├── Target / Proxy / Weaving │ └── 关键区分连接点全集vs 切入点子集 │ ├── 五种通知 │ ├── Before前置 │ ├── AfterReturning后置 │ ├── Around环绕← 最强大控制执行流 │ ├── AfterThrowing异常 │ └── After最终类似 finally │ └── 执行顺序 ├── 正常Around前 → Before → 方法 → Around后 → AfterReturning → After └── 异常Around前 → Before → 方法抛异常 → AfterThrowing → After六、写在最后面试回答模板“AOP 是面向切面编程把散落在各处的公共逻辑统一抽取管理。核心概念有 7 个最重要的是切面 切入点 通知。切入点决定在哪里切入通知决定切入后做什么。通知有五种Around 最强大可以控制目标方法是否执行、修改入参和返回值。AOP 底层通过动态代理实现运行时生成代理对象。”学习建议7 个术语重点区分连接点 vs 切入点面试常考五种通知记住执行顺序理解 Around 为什么最强
企业数字化 ERP 产品动态
相关推荐
Dante Cloud蓝绿部署:零downtime的服务更新方案 Dante Cloud蓝绿部署:零downtime的服务更新方案 【免费下载链接】dante-cloud 🐉 Dante Cloud 国内首个支持阻塞式和响应式服务并行的微服务云原生基座。采用领域驱动模型(DDD)设计思想,以「高质量代码、低安全漏洞」为核心,高度模… · 2026/11/6 6:24:00
奔赴少年CIIU携首张迷你专辑高调回归 开启C-Tro Pop音乐新篇章 日前,泛领文化旗下新生代男子组合奔赴少年CIIU正式公开首张迷你专辑《Closer to You(靠近你)》的概念视频,同步上线专辑收录新曲《一步一步》,高调拉开了组合回归的序幕。 专辑向大众展示了专属于奔赴少年CIIU的音乐风… · 2026/7/22 11:05:59
主流QQ群娱乐机器人功能、稳定性对比 在手机QQ里打开一个群,点击右上角的机器人入口,再进入发现页面,通常能看到一些已经运营较久的QQ群机器人。不同账号、版本和时间段看到的推荐顺序可能不一样,一些机器人、一念成仙是其中经常被群友提到的两款。
如果只是看机器人简… · 2026/11/14 6:18:04
电工证太难考?大兴区电工证学校真实经历告诉你怎么搞定 电工证太难考?大兴区电工证学校真实经历告诉你怎么搞定 工地太忙根本没时间复习考试,这几乎是每个电工从业者的共同烦恼。尤其是那些在大兴区从事建筑、安装、维修的电工,经常被项目进度牵着鼻子走,连抽空复习的时间都没有。我认识的老李,就是典型的例子… · 2026/11/14 15:32:50
杭州考电工证低压验电笔官方回应:工地太忙根本没时间复习考试怎么办 杭州考电工证低压验电笔官方回应:工地太忙根本没时间复习考试怎么办 工地太忙根本没时间复习考试,这种声音在杭州、郑州乃至全国的工地上几乎每天都能听见。尤其是像低压电工证这类涉及操作安全的证书,很多工人一边忙于施工,一边还要抽时间备考,压力真的… · 2026/11/14 15:32:50
北碚电工证年审地址怎么查?网上查询流程全解析 北碚电工证年审地址怎么查?网上查询流程全解析 学历不高怕报不上名?别慌,你不是一个人。很多在一线干活的电工朋友,干了十几年活,但特种作业证年审流程不熟,地址搞不清,心里没底。今天就来聊聊 北碚电工证年审地址… · 2026/11/14 15:32:50
电工证每年都考吗 郑州报考避坑指南:别被中介骗了,看完这篇就懂 电工证每年都考吗 郑州报考避坑指南:别被中介骗了,看完这篇就懂 不知道去哪报名怕被中介坑?郑州电工证报考真的要小心,尤其是新手,稍不注意就被各种“包过”“代考”“挂靠”广告忽悠,结果花了钱还拿不到证。今天就从一个在安阳房建工程干了8年的老电… · 2026/11/14 15:32:50
肇庆市电工证年审怎么考?网上查询报名不被坑 肇庆市电工证年审怎么考?网上查询报名不被坑 你是不是也遇到过这种情况: 不知道去哪报名怕被中介坑 ?尤其是肇庆市的电工证年审,流程不清晰、信息不对称,一不小心就掉进坑里。其实, 网上查询 就能解决大部分问题,关键是要找对地方和方法。… · 2026/11/14 15:32:50
射洪县电工证在那办,内部消息帮你避开这些坑 射洪县电工证在那办,内部消息帮你避开这些坑 不知道去哪报名怕被中介坑?现在市面上打着“内部消息”旗号的培训机构层出不穷,很多人拿着钱去报名,结果要么没证,要么等几个月还没消息。特别是 射洪县电工证在那办… · 2026/11/14 15:31:49
电工证丢失还能补吗?千万别踩坑,丢了证等于失业 电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/13 22:30:50
电力电缆作业证直播报名入口与办理流程良心建议 电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/14 13:23:47
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/14 13:20:59
有初级电工证怎么工作 2026河南最新政策怎么应对 有初级电工证怎么工作 2026河南最新政策怎么应对 之前考的证在外省能不能转过来?这个问题我每天被问上百次。2026年河南最新政策对证书跨省转移有了明确说明,特别是南阳市的从业者,需要特别关注。… · 2026/11/14 0:00:31
电工证过期了不知道怎么复审?考电工证自学书+官方报名入口全攻略 电工证过期了不知道怎么复审?考电工证自学书+官方报名入口全攻略 证书过期了不知道怎么复审延期?很多人遇到这种情况,要么是工作太忙没时间处理,要么是不知道具体流程,导致证书失效,影响工作和项目进展。其实复审并不难,关键是要找准官方报名入口,掌… · 2026/11/14 0:00:31
为什么要低压电工证实操考试考什么 为什么低压电工证值不值得考?别再被中介骗了 你是不是也经常看到网上有人在问“低压电工证到底值不值得考”?或者在找报名点时,担心被中间人骗钱?这些问题,我懂,我也经历过。作为一名在应急管理行业摸爬滚打多年的从业者,我深知低压电工证不仅是一个从… · 2026/11/14 0:00:31
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:12:21
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 6:11:51
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/13 22:31:30