Spring AOP 面向切面编程

概念

用于将与业务无关,但是对多个对象产生影响的公共逻辑,抽取并封装为可用模块,模块命名为“切面”(Aspect),减少重复代码,降低耦合度。

一般用来:日志记录、安全验证、性能监控、事务管理等功能都属于横切关注点。

工作流程简述:
当一个Spring Bean需要被AOP增强时,Spring容器不会直接返回该Bean的实例,而是返回一个代理实例。所有对该Bean的方法调用都会首先被这个代理拦截,代理根据切点的定义,在方法的执行前后、或抛出异常时,织入相应的通知逻辑,然后再调用实际的目标方法。

应用例子:在不修改源代码的前提下,请请求信息实现日志记录。

AOP底层通过 动态代理 实现对目标方法的编程。
增强语句的内容大概是:
QQ_1758078960771

Spring的事务管理

Spring提供了强大的声明式事务管理功能,核心是 @Transactional 注解。
它的实现原理本身就是AOP

posted @ 2025-09-17 15:26  浪矢-CL  阅读(16)  评论(0)    收藏  举报