Spring AOP介绍

Spring AOP介绍

AOP

AOP(Aspect Oriented Programming)是OOP的延续,称为面向切面编程。AOP是Spring的核心之一

AOP概念

代理目标 ( target ):谁将被其它对象代理,谁就是代理目标。
代理对象 ( proxy ):谁将代理其它对象,谁就是代理对象。
连接点 ( Join Point ):连接点 = 执行点 + 方位

  • 执行点:任意一个类中的可以执行的方法都可以看作是一个执行点
  • 方位:
	方法执行前 ( before )
 	方法执行前和后 ( around )
 	方法抛出异常后 ( after-throw )
 	方法正常返回后 ( after-return )
 	方法执行后 ( after )

切点 ( Pointcut ):对 连接点 进行筛选的条件(类似于SQL中的where条件)

Advice:在指定的 切点 所选择 的 连接点 加入的代码 就是 Advice(Advice就是在目标位置加入的代码)

切面( Aspect ):切点( Pointcut ) + Advice 就是 切面( Aspect )

织入( weaving ):将 Advice 添加到 切点 选中的 连接点 的过程

织入方式:

(1)编译时织入:当一个类文件被编译时进行织入,这需要特殊的编译器才可以做的到。
(2)类加载时织入:使用特殊的类加载器。
(3)运行时织入:在运行期为目标类添加增强生成子类的方式
Spring采用动态代理织入,而AspectJ采用编译时织入和类加载时织入。

引入( introduction ):引入就是在一个接口的基础上引入新的接口增强其功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值