AOP 的基本概念

AOP 我想大家对它一定都很熟悉,但是又有多少人对它的几个基本概念真正很清楚呢,官方文档看了很多,但总觉的讲的还是太抽象,今天我将以我自己的理解,用一种通俗的讲法,再解释一下:
1. Aspect: 你可以把它想象成那些你需要在整个application ,全局范围内要使用的common 的 feature(比如 logging, performance monitoring, exception handling, transaction management, etc).

2. Advice: Advice就是一段代码,将要在程序运行时被调用,它就是你的aspect的实现逻辑,是实现AOP最重要的部分,你可以把它看作是一个装饰器模式,只不过它不需要去包装一个object, 但他们有相同的功效。
3. JoinPoint: JoinPoint就是一个地址,在这个地方advice应当被执行。 (比如 field access, method invocation , constructor invocation, etc)Spring 的AOP当前只support Method invocation.

4.PointCut PointCut是有许多JoinPoint组成的,通常我们用通配符来定义PointCut,来定义一组JoinPoint,在这些地方 Advice需要被调用。(比如我们有一个PointCut(com.test.service.*(..)))那么service中的每个方法都是一个JointPoint.

5.Targets/Target Objects 这个概念Spring 的AOP用的多一点,因为Spring的AOP是用代理实现的,也就是给目标对象加上一个代理,然后所以对目标对象的调用都是通过这个代理去掉的。 这里的目标对象就是Targets/Target Objects.


6.Introduction(通知) Introduction 提供的一种机制可以在运行时给某个object 加上方法。在Spring 中,通知仅仅局限与 interface,也就是你只能在运行时动态给某个object加上一个interface.


以上是本人的理解,如不对,希望大家指出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值