2.Spring-AOP

AOP:Aspect Oriented Programming 面向切面编程

OOP:Object Oriented Programming 面向对象编程

一、日志

(1)硬编码与静态代理

硬编码:

静态代理:

未加日志的代理类:

加了日志的代理类:

测试:

(2)动态代理

(3)日志工具类

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

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

切入点表达式通配符

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

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

通知方法执行流程:

JoinPoint连接点信息:

@PointCut抽取切入点表达式:

@Pointcut抽取切入点表达式

多切面执行顺序:

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

环绕通知:

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

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

AOP应用场景:

相关推荐
Asthenia04122 分钟前
DDD是什么?用一个电商的例子来入门
后端
anlogic13 分钟前
Java基础 4.3
java·开发语言
uhakadotcom19 分钟前
阿里云STS:安全、灵活的临时访问管理
后端·面试·github
非ban必选39 分钟前
spring-ai-alibaba第七章阿里dashscope集成RedisChatMemory实现对话记忆
java·后端·spring
Asthenia041243 分钟前
深入剖析Java中的LinkedHashMap:内部结构、源码与比较
后端
A旧城以西43 分钟前
数据结构(JAVA)单向,双向链表
java·开发语言·数据结构·学习·链表·intellij-idea·idea
杉之1 小时前
选择排序笔记
java·算法·排序算法
Asthenia04121 小时前
全面剖析Java中的Queue:从集合概览到源码与并发实现
后端
Naive_71 小时前
蓝桥杯准备(前缀和差分)
java·职场和发展·蓝桥杯
uhakadotcom1 小时前
MVC 和 MVVM 架构模式:基础知识与实践
后端·面试·架构