2.Spring-AOP

AOP:Aspect Oriented Programming 面向切面编程

OOP:Object Oriented Programming 面向对象编程

一、日志

(1)硬编码与静态代理

硬编码:

静态代理:

未加日志的代理类:

加了日志的代理类:

测试:

(2)动态代理

(3)日志工具类

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

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

切入点表达式通配符

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

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

通知方法执行流程:

JoinPoint连接点信息:

@PointCut抽取切入点表达式:

@Pointcut抽取切入点表达式

多切面执行顺序:

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

环绕通知:

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

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

AOP应用场景:

相关推荐
Wang's Blog9 小时前
Java 项目实战:交友项目 - 联系人管理需求分析
java·开发语言·交友
没有气的汽水9 小时前
一次内存缓慢泄漏的排查:每次都 new 一个 OpenAI 客户端,问题出在事件循环上
后端
Nnnnnnn9 小时前
Kafka 踩坑实录:在 WSL2 环境下,容器死活连不上集群怎么办?
后端
lazy H9 小时前
【计算机网络】第 13 篇:NAT 和端口映射是什么?为什么本地服务外网访问不了?
java·网络·网络协议·学习·计算机网络·408
就像楞次定律10 小时前
【Linux 学习记之二】C++ 构建体系与底层链接机制的深度透视(1)
linux·后端
学到老活到老10 小时前
第 22 集:Filter、Interceptor、AOP 都能拦截,为什么不能互换?
java·后端·spring
sun032210 小时前
【JDK 动态代理】 和 【CGLIB 代理】对比
java·数据库·sql
文丑颜不良啊10 小时前
LeetCode1261~1280题目解析
java·leetcode
郭小李10 小时前
spring 中的 @EnableWebMvc注解和WebMvcConfigurer接口
java·后端·spring
卷无止境10 小时前
Skill 的安全边界在哪里:风险来源、验证思路与用户可用的防线
后端·python