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

相关推荐
qq_185198693 小时前
(Spring Bean + delegateExpression)实现http服务 的完整可运行项目
spring
Ai拆代码的曹操4 小时前
Spring 事务 REQUIRES_NEW 嵌套调用:连接池翻倍的秘密
java·后端·spring
wear工程师10 小时前
WebFlux 里能不能直接 block?面试别只答「不能」
spring
凤山老林13 小时前
SpringBoot 3 启用 spring.factories 后如何升级替换原有的 spring.factories ?
spring boot·后端·spring
小罗水14 小时前
第1章 大模型、企业知识库与 RAG 平台概述
java·spring
qq_1851986915 小时前
骆驼任务Flowable + Apache Camel 集成
spring·apache·flowable
lichuangcsdn15 小时前
【Spring AI 学习(一)】spring ai是什么
人工智能·学习·spring·spring ai
吃饱了得干活2 天前
@Transactional 又失效了?把这 8 个坑全填了!
java·后端·spring
今天AI了吗2 天前
Spring AI 框架实战:Java 后端集成大模型的架构设计与工程落地
java·人工智能·python·spring·机器学习
乐观的Terry2 天前
9、发布系统-Webhook自动发布
java·spring boot·spring·spring cloud·mybatis