Spring5快乐教程(九)AOP基本知识

一、AOP的基本概念

什么是AOP

  定义:面向切面(方面)编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得其之间耦合度降低提高程序可重用性,同时提高了开发效率

  通俗描述:不修改源代码方式,在主干功能里添加新的功能。

底层原理

  AOP的底层原理使用的是动态代理

两种情况

  • 有接口的情况:使用JDK动态代理
    • 创建接口实现类的代理对象,来增强类其中的一些方法。
  • 无接口的情况:使用CGLIB动态代理
    • 创建子类的代理对象,来增强类其中的一些方法。

二、JDK动态代理的实现

调用java.lang.reflect.proxy类的newProxyInstance方法

三个参数

  • 类加载器
  • 增强方法所在的类所实现的接口【数组形式,支持多个接口】
  • 实现InvocationHandler接口的对象

代码实现

第1步 创建接口,定义方法

第2步 创建接口实现类,实现方法

第3步 使用Proxy类创建接口的代理对象

三、操作术语

连接点

  定义:类中可以被增强的方法

切入点

  定义:类中实际被增强的方法

通知(增强)

  定义:际被增强(通知)的逻辑代码

  类型:

  • 前置通知
  • 后置通知
  • 环绕通知
  • 异常通知
  • 最终通知

切面

  定义:描述动作,把增强(通知)应用到切入点的过程

 

posted @   有梦想的肥宅  阅读(205)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示