寒假学习(17)
Spring AOP
核心概念
1.Aspect(切面):
切面是横切关注点的模块化。它包含一组通知(Advice)和切点(Pointcut)。
2.Join Point(连接点):
连接点是程序执行过程中的一个点,比如方法调用或异常抛出。
在 Spring AOP 中,连接点总是代表方法的执行。
3.Advice(通知):
通知是切面在特定连接点执行的动作。Spring AOP 提供了以下几种通知类型:
Before Advice:在方法执行之前执行。
After Returning Advice:在方法成功执行后执行。
After Throwing Advice:在方法抛出异常后执行。
After (Finally) Advice:在方法执行结束后执行,无论成功与否。
Around Advice:在方法执行前后都执行,可以控制方法的执行。
4.Pointcut(切点):
切点定义了通知应该应用在哪些连接点上。它通过表达式来匹配连接点。
例如,execution(* com.example.service..(..)) 表示匹配 com.example.service 包中所有类的所有方法。
5.Target Object(目标对象):
目标对象是被一个或多个切面通知的对象。它是业务逻辑的实际执行者。
6.Weaving(织入):
织入是将切面应用到目标对象以创建代理对象的过程。Spring AOP 在运行时通过动态代理实现织入。
Spring AOP 的实现方式
Spring AOP 主要通过两种方式实现:
JDK 动态代理:
适用于目标对象实现了接口的情况。
Spring 会创建一个实现了相同接口的代理对象。
CGLIB 代理:
适用于目标对象没有实现接口的情况。
Spring 会通过生成目标对象的子类来创建代理对象。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性