Spring AOP总结

1、AOP(Aspect-Oriented Programming):面向切面编程让开发更高效。

工作中经常需要处理日志记录、事物管理、安全控制等跨越多个业务模块的公共逻辑。

它是一种编程的范式。它通过将跨多个业务模块的公共逻辑抽取并封装成独立的模块(即切面),实现业务逻辑和非业务逻辑的解耦。

2、AOP的好处:

a. 减少重复代码

b. 非业务逻辑和业务逻辑的解耦

c. 提高代码的可维护性

3、AOP 的基本概念

a. 切面:Aspect

b. 连接点:JointPoint

c. 切点:PointCut,拦截的连接点

d. 通知:Advoice,切面在连接点上的具体行为

4、使用Spring AOP构建日志切面

a. 引入依赖

b. 定义日志切面,使用@Aspect和@Component注解。

@Aspect

@component

public class LoggingAspect@{

@Before("execution(* comexample.service.*.*(...))")

public void logBefore(){

})

在执行service包下的所有方法之前记录日志

}

c. 启动AO支持:

@EnableAspectJAutoProxy:

开启自动办理,使切面生效。

总结:AOP面向切面编程它的强大之处在于将非业务逻辑集中管理,让我们的代码更加简洁高效!!!

相关推荐
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧11 小时前
《苍穹外卖》- day01 开发环境搭建
spring boot·后端·spring·maven·intellij-idea·mybatis
浅水壁虎13 小时前
任务调度——XXLJOB2(调度中心)
java·spring boot·spring
huahailing102416 小时前
Spring 循环依赖终极解决方案:从原理到实战(附避坑指南)
java·后端·spring
哪里不会点哪里.17 小时前
Spring 事务机制详解:原理、传播行为与失效场景
java·数据库·spring
哪里不会点哪里.19 小时前
Spring 中常用注解详解
java·后端·spring
Mr__Miss20 小时前
JMM中的工作内存实际存在吗?
java·前端·spring
程序员侠客行20 小时前
Spring集成Mybatis原理详解
java·后端·spring·架构·mybatis
Hello.Reader21 小时前
Flink Working Directory(FLIP-198)稳定本地恢复、RocksDB 目录与进程重启“不丢缓存”的正确姿势
spring·缓存·flink
蓝眸少年CY21 小时前
(第十三篇)spring cloud之Sleuth分布式链路跟踪
分布式·spring·spring cloud
迦蓝叶21 小时前
Javaluator 与 Spring AI 深度集成:构建智能表达式计算工具
人工智能·spring·ai·语言模型·tools·spring ai·mcp