在Spring中,有以下通知类型(Advice):
- Before Advice:在目标方法执行之前执行的通知。通常用于参数校验、权限控制等。
故事环节:小明是一个红灯区的保安,他负责检查进入红灯区的人员是否持有有效身份证件。他会在每个人进入前先检查身份证是否齐全,并酌情判断是否允许其进入。这里的检查过程就可以看做是Before Advice。
- After Returning Advice:在目标方法正确执行并返回后执行的通知。可以获取方法的返回值进行处理。
故事环节:小红是一名快递员,她负责将快递送达目的地并将结果返回给客户。在送达后她会及时更新快递状态,同时将结果返回给客户,客户可以对结果进行确认。这里的更新状态和返回结果、客户确认就可以看做是After Returning Advice。
- After Throwing Advice:在目标方法抛出异常后执行的通知,通常用于异常处理和日志记录。
故事环节:小李是一名火车司机,他负责确保列车行驶安全。有一天,在行驶过程中突然出现了天崩地裂般的问题,列车不可避免地出轨了。这时候他会立刻采取措施,如通知机务人员前来处理、向乘客说明情况等,同时也会将此事件记录在日志上,以便后续分析处理。这里的处理措施和记录日志就可以看做是After Throwing Advice。
- After Advice:在目标方法执行完毕后无论是否出现异常均执行的通知。
故事环节:小张是一名电影院的门票检票员,他负责检查每个人的门票并引导其进入相应的影厅。在电影放映结束后,他会留下来检查整个影院是否有遗留物品,如有,则及时与失主联系并妥善处理。这里的检查遗留物品就可以看做是After Advice。
- Around Advice:在目标方法执行前后都可以执行的通知。可以在目标方法执行前后做一些自定义处理。
故事环节:小王是一名咖啡师,他负责调制咖啡。在调制咖啡的过程中,他可以根据客人的口味做一些自定义处理,比如控制煮沸时间、加入奶泡等。这里的自定义处理就可以看做是Around Advice。
分类:
# Spring面试全家桶
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2021-07-18 【Java面试】:第三章:P6级面试