Spring—AOP

AOP 的概念、名词解释、实现原理、常用场景

AOP(面向切面编程)
概念:将一批具备逻辑相关性的类视作一个切面,并以切面为单位,添加功能;通常用于实现具备横切性质的系统级服务。
实现原理

  • 代理模式
  • 分为动态代理与静态代理
  • 静态代理:两个实现类A,B,实现一个接口C,B代理A来实现C(运行流程上来说A实现C时要通过B才能实现C,而B发给C的内容不全是A或者全不是A的内容,而是B的内容。及是静态代理)
  • 动态代理
    通过invocationHandler实现方法拦截加入代理功能
    通过Proxy类创建动态代理实例
    当调用生成的代理实例时,会被invocationHandler的方法拦截,方法实现就是代理的内容
    常用场景
  • 权限管理
  • 打印日志
  • 系统性能检测
  • 缓存优化
  • 事务管理
    名词解释
  • 连接点 JoinPoint : 可以被切入的点,通常是方法。连接点对象描述了当前连接点的信息,比如,目标对象、方法信息、参数等等
  • 通知 Advice : 需要向切面加入的功能
  • 引入 Introduction: 对目标对象添加方法和属性
  • 切面 Aspect : 将切面模块化,包含了要切入的功能,切入点等等
  • 目标对象 Target: 切面通知的对象
  • 代理 Proxy : AOP的一种实现方式
  • 织入 Weaving: 将切面应用到目标对象的过程
  • 切入点 PointCut : 需要织入通知的连接点,通常用SPEL描述

具体实现名词–及是配置完后的操作(通知)

  • 通知 (SpringBean)
  • 前 before JoinPoint
  • 后 after JoinPoint
  • 环绕 around ProceedingJoinPoint
  • 异常 after-throwing
  • 返回 after-returning
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值