快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

澳门星际手机版官方下载:Spring AOP的一些概念



切面(Aspect): 一个关注点的模块化,这个关注点可能会横切多个工具。事务治澳门星际手机版官方下载理是J2EE利用中一个关于横切关注点的很好的例子。 在Spring AOP中,切面可以应用通用类(基于模式的风格) 或者在通俗类中以 @Aspect 评释(@Aspec澳门星际手机版官方下载tJ风格)来实现。

连接点(Joinpoint): 在法度榜样履行历程中某个特定的点,比如某措施调用的时刻或者处置惩罚非常的时刻。 在Spring AOP中,一个连接点 老是 代表一个措施的履行。 经由过程声明一个org.aspectj.lang.JoinPoint类型的参数可以使看护(Advice)的主体部分得到连接点信息。

看护(Advice): 在切面的某个特定的连接点(Joinpoint)上履行的动作。看护有各类类型,此中包括“around”、“before”和“after”等看护。 看护的类型将在后面部分进行评论争论澳门星际手机版官方下载。许多AOP框架,包括Spring,都因此拦截器做看护模型, 并掩护一个以连接点为中间的拦截器链。

切入点(Pointcut): 匹配连接点(Joinpoint)的断言。看护和一个澳门星际手机版官方下载切入点表达式关联,并在满意这个切入点的连接点上运行(例如,当履行某个特定名称的措施时)。 切入点表达式若何和连接点匹配是AOP的核心:Spring缺省应用AspectJ切入点语法。

引入(Introduction): (也被称为内部类型声明(inter-type declaration))。声明额外的措施或者某个类型的字段。 Spring容许引入新的接口(以及一个对应的实现)到任何被代理的工具。 例如,你可以应用一个引入来使bean实现 IsModified 接口,以便简化缓存机制。

目标工具(Target Object): 被一个或者多个切面(aspect)所看护(advise)的工具。也有人把它叫做 被看护(advised) 工具。 既然Spring AOP是经由过程运行时代理实现的,这个工具永世是一个 被代理(proxied) 工具。

AOP代理(AOP Proxy): AOP框架创建的工具,用来实现切面左券(aspect contract)(包括看护措施履行等功能)。 在Spring中,AOP代理可所以JDK动态代理或者CGLIB代理。 留意:Spring 2.0最新引入的基于模式(schema-based)风格和@AspectJ评释风格的切面声明,对付应用这些风格的用户来说,代理的创建是透明的。

织入(Weaving): 把切面(aspect)连接到其它的利用法度榜样类型或者工具上,并创建一个被看护(advised)的工具。 这些可以在编译时(例如应用AspectJ编译器),类加载时和运行时完成。 Spring和其他纯Java AOP框架一样,在运行时完成织入。

看护的类型:

前置看护(Before advice): 在某连接点(join point)之前履行的看护,但这个看护不能阻拦连接点前的履行(除非它抛出一个非常)。

返回后看护(After returning advice): 在某连接点(join point)正常完成后履行的看护:例如,一个措施没有抛出任何非常,正常返回。

抛出非常后看护(After 澳门星际手机版官方下载throwing advice): 在措施抛出非常退出时履行的看护。

后看护(After (finally) advice): 当某连接点退出的时刻履行的看护(不论是正常返回照样非常退出)。

萦绕看护(Around Advice): 困绕一个连接点(join point)的看护,如措施调用。这是最强大年夜的一种看护类型。 萦绕看护可以在措施调用前后完成自定义的行径。它也会选择是否继承履行连接点或直接返回它们自己的返回值或抛出非常来停止履行。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: