2.Spring-AOP

AOP:Aspect Oriented Programming 面向切面编程

OOP:Object Oriented Programming 面向对象编程

一、日志

(1)硬编码与静态代理

硬编码:

静态代理:

未加日志的代理类:

加了日志的代理类:

测试:

(2)动态代理

(3)日志工具类

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

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

切入点表达式通配符

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

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

通知方法执行流程:

JoinPoint连接点信息:

@PointCut抽取切入点表达式:

@Pointcut抽取切入点表达式

多切面执行顺序:

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

环绕通知:

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

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

AOP应用场景:

相关推荐
小赵面校招2 分钟前
Spring Boot整合MyBatis全攻略:原理剖析与最佳实践
java·spring boot·mybatis
曼岛_5 分钟前
[Java实战]Spring Boot 3 整合 Ehcache 3(十九)
java·spring boot·spring
意倾城7 分钟前
Spring Boot 配置文件敏感信息加密:Jasypt 实战
java·spring boot·后端
曼岛_7 分钟前
[Java实战]Spring Boot 3 整合 Apache Shiro(二十一)
java·spring boot·apache
火皇4057 分钟前
Spring Boot 使用 OSHI 实现系统运行状态监控接口
java·spring boot·后端
带刺的坐椅10 分钟前
Java Solon v3.3.0 发布(国产优秀应用开发基座)
java·spring·solon
不再幻想,脚踏实地11 分钟前
Spring Boot配置文件
java·数据库·spring boot
pedestrian_h18 分钟前
Spring AI 开发本地deepseek对话快速上手笔记
java·spring boot·笔记·llm·ollama·deepseek
诚丞成19 分钟前
BFS算法篇——从晨曦到星辰,BFS算法在多源最短路径问题中的诗意航行(上)
java·算法·宽度优先
亮11131 分钟前
GITLAB跑gradle项目 不借助maven-publish直接上传到nexus私人仓库
java·gitlab·gradle·maven