4.Spring与AOP-AOP概述

一、AOP简介

AOP(Aspect Orient Programming),面向切面编程,是面向对象编程OOP的一种补充。面向对象编程师从静态角度考虑程序的结构,而面向切面编程师从动态角度考虑程序运行过程。

AOP底层,就是采用动态代理模式实现的。采用了两种代理:JDK的动态代理与cglib的动态代理

面向切面编程,将交叉业务逻辑封装成切面,利用AOP容器的功能将切面织入到主业务逻辑中。所谓交叉业务逻辑是指,通用的,与主业务逻辑无关的代码,如安全检查、事务、日志等。


二、AOP编程术语
  • 切面(Aspect)
    泛指交叉业务逻辑。常用的切面有通知和顾问。实际就是对主业务逻辑的一种增强

  • 织入(Weaving)
    将切面代码插入到目标对象的过程

  • 连接点(JoinPoint)
    连接点指可以被切面织入的方法。通常业务接口中的方法均为连接点

  • 切入点(Pointcut)
    切入点指切面具体织入的方法
    被标记为final的方法是不能作为连接点和切入点的,因为最终的是不能被修改的,不能被增强

  • 目标对象(Target)
    目标对象指将要被增强的对象。即包含主业务逻辑的类的对象。

  • 通知(Advice)
    通知是切面的一种实现,可以完成简单织入功能(织入功能就是在这里完成的)。通知定义了增强代码切入到目标代码的时间点,是目标方法执行之前执行,还是之后执行等。通知类型不同,切入时间不同
    切入点定义切入的位置,通知定义切入的时间

  • 顾问(Advisor)
    顾问式切面的另外一种实现,能够将通知以更为复杂的方式织入到目标对象中,是将通知包装为更复杂切面的装配器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值