2.Spring-AOP

AOP:Aspect Oriented Programming 面向切面编程

OOP:Object Oriented Programming 面向对象编程

一、日志

(1)硬编码与静态代理

硬编码:

静态代理:

未加日志的代理类:

加了日志的代理类:

测试:

(2)动态代理

(3)日志工具类

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

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

切入点表达式通配符

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

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

通知方法执行流程:

JoinPoint连接点信息:

@PointCut抽取切入点表达式:

@Pointcut抽取切入点表达式

多切面执行顺序:

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

环绕通知:

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

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

AOP应用场景:

相关推荐
ServBay1 分钟前
为什么我劝你不要在Mac上用Docker 进行本地 AI 开发
后端
蝎子莱莱爱打怪5 分钟前
XZLL-IM干货系列 02|Protobuf 协议设计:从 JSON 切到二进制,每条消息省了 60%
后端·面试·架构
程序员黑豆13 分钟前
AI全栈开发之Java:第一个Java程序
前端·后端·ai编程
kong@react15 分钟前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
小Q的编程笔记19 分钟前
Pump.fun 的核心是什么?用 300 行 Solidity 实现 Bonding Curve 与自动 LP 销毁
前端·后端·智能合约
学以智用21 分钟前
.NET Core Swagger 超详细讲解(从入门到企业级)
后端·.net
未若君雅裁21 分钟前
JVM 运行时数据区:程序计数器、堆、虚拟机栈与栈帧
java·jvm
摇滚侠22 分钟前
Spring 零基础入门到进阶 基于 XML 管理 Bean 14-28
xml·数据库·spring
智慧物业老杨26 分钟前
物业交接数智化解决方案:从“钥匙移交“到“数据交割“的技术落地实践
spring
浮游本尊1 小时前
Java学习第40天 - 数据库基础、表设计与 Spring Boot 数据访问入门
后端