zoukankan      html  css  js  c++  java
  • Spring AOP学习笔记(1)-概念

    1.Aspect

      横切在多个类的一个关注点,在Spring AOP中,aspect实现是一个规则的类或@Aspect标注的规则类。例如:事务管理

    2.Join point

      程序执行过程中的一个点,例如:执行一个方法或处理一个异常,在Spring AOP中,一个连接点表示一个方法执行执行

    3.Advice

      在一个特定的连接点上所采取的动作,类型包括around,before,after等,Spring中 advice就是一个interceptor模式,包括around连接点的interceptor链

    4.Pointcut

      切点,匹配连接点(join points),跟Advice相关,连接点就是切点表达式匹配出来的,Spring默认使用AspectJ切点表达式

    5.Introduction

      声明一个类型的其他方法或字段,Spring AOP允许引入新接口(和对应的实现)的任意advised对象

    6.Target object

      由一个或多个切面advised对象,从SpringAOP实现代理运行开始,这个对象一直是一个代理对象

    7.AOP proxy

      AOP框架创建的对象,该对象实现了aspect规则(advise 方法执行等),在Spring框架中,一个AOP代理就是一个JDK动态代理或CGLIB代理

    8.Weaving

      连接aspect和其他应用类型或对象而创建的advised 对象,它可以运行在编译时,载入时或运行时,Spring AOP在运行时执行织入操作

    9.Advice 类型

    Before advice:在连接点之前执行,它无法阻止AOP执行连接点(除非抛出异常)

    After returning advice: 在一个连接点正常完成后执行,例如,一个方法正常返回值且未抛出异常

    After throwing advice:如果一个方法因抛出异常而退出,这时就会执行该Advice

    After (finally) advice: 无论方法是正常返回还是抛出异常都会执行该Advice

    Around advice: 在方法before之前和after之后执行该Advice,它也可以决定是否继续向后执行或返回自定义值或抛出异常

    10.AOP代理

    Spring AOP默认使用标准的J2SE动态代理,它可以代理任意接口。也可以使用CGLIB代理,当一个业务对象不实现接口的情况下,默认使用CGLIB代理,但建议使用面向接口编程。

  • 相关阅读:
    Tensorflow的对二次函数的神经网络训练
    ubuntu16.04的Anaconda下的tensorflow安装py3.5
    数字信号处理C语言(3) ------FFT
    数字信号处理C语言(2) ------带高斯噪声的sin函数和组合sin函数
    数字信号处理C语言(1) ------均匀分布和高斯分布随机数
    CCIE学习笔记 ----TSHOOT
    CCIE学习笔记 ----BGP
    CCIE学习笔记 ----GRE over IPsec
    调试
    Java protobuf框架使用向导
  • 原文地址:https://www.cnblogs.com/manliu/p/5985721.html
Copyright © 2011-2022 走看看