当前位置: 首页 > article >正文

2.Spring-AOP

AOP:Aspect Oriented Programming  面向切面编程

OOP:Object Oriented Programming  面向对象编程

一、日志

(1)硬编码与静态代理

硬编码:

静态代理:

未加日志的代理类:

加了日志的代理类: 

测试: 

(2)动态代理

(3)日志工具类

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

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

 切入点表达式通配符

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

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

通知方法执行流程: 

JoinPoint连接点信息: 

 @PointCut抽取切入点表达式:

@Pointcut抽取切入点表达式 

多切面执行顺序: 

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

环绕通知:

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

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

 

AOP应用场景:

 


http://www.kler.cn/a/514418.html

相关文章:

  • 变频器硬件接线
  • C#中的语句
  • MATLAB语言的文件操作
  • python转转商超书籍信息爬虫
  • Excel 实现文本拼接方法
  • 小菜鸟系统学习Python第三天
  • 探索 Stable-Diffusion-Webui-Forge:更快的AI图像生成体验
  • Halcon入门学习(机器视觉)
  • 机遇、挑战与融合创新之路
  • MySql字段的值是以逗号隔开的另一个表的主键关联查询
  • Oracle SQL: TRANSLATE 和 REGEXP_LIKE 的知识点详细分析
  • Spring Security 7 来啦
  • HTB:Remote[WriteUP]
  • AR智慧点巡检系统探究和技术方案设计
  • 微软 Win11 RP 22631.4825(KB5050092)预览版发布!
  • 哈夫曼树(构建、编码、译码)(详细分析+C++代码实现)
  • 纯前端实现表格中的数据导出功能-使用xlsx和file-saver
  • 【大数据】机器学习----------计算机学习理论
  • OpenHarmony OTA升级参考资料记录
  • 路由重分布
  • Hack The Box-Starting Point系列Vaccine
  • 【机器学习实战中阶】使用SARIMAX,ARIMA预测比特币价格,时间序列预测
  • LINUX下设置分离状态(Detached State)和未设置分离状态的主要区别在于线程资源的管理方式和线程的生命周期。以下是两种状态的对比:
  • 1.21学习
  • Ceisum无人机巡检直播视频投射
  • SpringCloud学习笔记【尚硅谷2024版】