AOP的运用场景

spring AOP 的运用

  1. 事务
  2. 日志处理
  3. 缓存
  4. 权限控制
  5. 错误处理
  6. 懒加载

什么是AOP

AOP(Aspect Orientend Programing) 称为: 面向切面编程, 它是一种编程思想 在程序运行的时候, 动态的将代码切入到类指定方法 ,指定位置上的编程思想就是面向切面的编程
基于代理思想 ,对原来目标对象,在不修改原对象代码情况下, 对原有业务方法进行增强

Spring AOP 中什么是切点

在说切入点前 需要先说连接点
连接点 : 可能被增强的点 , 目标类中的所有方法
切入点: 将会被增强的连接点 , 目标类中被增强的方法

Spring AOP中什么是目标对象

目标类: 需要被增强的类

AOP和代理模式

代理模式 : 分为静态代理 ,JDK动态代理,cglib代理

  1. 今天代理
    代理类和被代理类实现共同的接口(或继承), 代理类中存有指向被代理类的引用, 实际执行时通过调用代理类的方法, 实际执行的是被代理类的方法。
  2. jdk动态代理: 必须有接口和实现类(目标类) ,通过工具Proxy生产接口对应的代理类,从而对目标类进行增强。
  3. Cglib代理: cglib代理生成的代理类是目标类的子类, 所有目标类不能用final修饰

AOP
SpringAOP 通过代理方式, 对目标类进行增强。
SpringAOP 底层默认使用JDK动态代理, 通过配置可以修改成cglib代理

你如何理解AOP中的连接点(Joinpoint)、切点(Pointcut)、增强(Advice)、引介(Introduction)、织入(Weaving)、切面(Aspect)这些概念?

1.目标类(target):需要被增强的类。
2.连接点(Joinpoint):可能被增强的点,目标类中的所有方法。
3.切入点(Pointcut):将会被增强的连接点,目标类中被增强的方法。
4.通知/增强(Advice):对切入点增强的内容。增强的内容通常以方法的形式体现的。增强执行的位置不同,称呼不同。
(前置通知、后置通知、环绕通知、抛出异常通知、最终通知)
通知方法所在的类,通常称为切面类。
5.切面(Aspect):通知和切入点的结合。一个通知对应一个切入点就形成一条线,多个通知对应多个切入点形成多条线,多条线形成了一个面,我们称为切面。
6.织入(Weaving): 生成切面并创建代理对象的过程。(将通知和切入点的结合,并创建代理对象的过程)
7.引介(Introduction):一种特殊的增强

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值