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面向切面编程它的强大之处在于将非业务逻辑集中管理,让我们的代码更加简洁高效!!!

相关推荐
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题 第155题】【06_Spring篇】第15题:Spring 如何解决循环依赖问题?
java·spring·循环依赖·三级缓存·aop代理
AI人工智能+电脑小能手5 小时前
【大白话说Java面试题 第156题】【06_Spring篇】第16题:Spring 用到了哪些设计模式?
java·spring·设计模式·代理模式·工厂模式
辰海Coding5 小时前
MiniSpring框架学习笔记-动态代理:如何在运行时插入逻辑?
java·笔记·学习·spring·动态代理
一路向北North7 小时前
Spring Security OAuth2.0(16):密码模式
java·后端·spring
卓怡学长8 小时前
w273基于springboot的智能笔记的开发与应用
java·spring boot·spring·intellij-idea
无心水1 天前
【全域智能营销实战】2、Spring AI 模块化架构深度解读:从 1.0 到 2.0 的演进与最佳实践
人工智能·spring·架构·harness·顶尖架构师·全域智能营销·harmess
livemetee1 天前
【关于Spring声明式事务】
java·后端·spring
Esaka_Forever1 天前
Python 完整内存管理机制详解
开发语言·python·spring
殳翰1 天前
spring对junit的支持
spring·junit·sqlserver
happyprince1 天前
09-vLLM KV Cache 系统完整分析
java·spring·vllm