2.Spring-AOP

AOP:Aspect Oriented Programming 面向切面编程

OOP:Object Oriented Programming 面向对象编程

一、日志

(1)硬编码与静态代理

硬编码:

静态代理:

未加日志的代理类:

加了日志的代理类:

测试:

(2)动态代理

(3)日志工具类

二、Spring简化jdk的proxy的动态代理

编写切面和通知方法实现AOP

切入点表达式通配符

切入点表达式的其他写法:

组件在容器中其实是代理对象:

通知方法执行流程:

JoinPoint连接点信息:

@PointCut抽取切入点表达式:

@Pointcut抽取切入点表达式

多切面执行顺序:

数字越小,越先执行,越在外围。

环绕通知:

(1)拦截器目标方法执行,执行前后进行修改

(2)一定需要抛出异常,方便多切面情况下异常感知链路是通的。

AOP应用场景:

相关推荐
L.EscaRC2 分钟前
Spring IOC核心原理与运用
java·spring·ioc
语落心生3 分钟前
Apache Geaflow推理框架Geaflow-infer 解析系列(五)环境上下文管理
后端
程序员爱钓鱼4 分钟前
用 Python 批量生成炫酷扫光 GIF 动效
后端·python·trae
摇滚侠15 分钟前
2025最新 SpringCloud 教程,Nacos-总结,笔记19
java·笔记·spring cloud
aiopencode18 分钟前
iOS 应用上架的工程实践复盘,从构建交付到审核通过的全流程拆解
后端
在逃热干面19 分钟前
(笔记)获取终端输出保存到文件
java·笔记·spring
爱笑的眼睛1120 分钟前
深入理解MongoDB PyMongo API:从基础到高级实战
java·人工智能·python·ai
笃行客从不躺平29 分钟前
遇到大SQL怎么处理
java·开发语言·数据库·sql
q***876036 分钟前
Spring Boot 整合 Keycloak
java·spring boot·后端
Billow_lamb37 分钟前
Spring Boot2.x.x全局拦截器
java·spring boot·后端