这里介绍一下AOP的基本概念,和相关名词的解释。
1.AOP的基本概念介绍
AOP:Aspect Oriented Programming的缩写,中文意思为面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术
主要功能:日志记录、性能统计、安全控制、事务处理、异常处理等等。
2.AOP相关名词解释
切面(Aspect):一个关注点的模块化,这个关注点可能会横切多个对象。
连接点(Joinpoint):程序执行过程中某个特定的点。
通知(Advice):在切面的某个特定的连接点上执行的动作。
切入点(Pointcut):匹配连接点的断言,在AOP中通知和一个切入点表达式的关联。
引入(Introduction):在不修改类代码的前提下,为类添加新的方法和属性。
目标对象(Target Object):被一个或者多个切面所通知的对象。
AOP代理(AOP Proxy):AOP框架创建的对象,用来实现切面契约(aspect contract)(包括通知方法执行等功能)。
织入(Weaving):把切面连接到其他应用程序类型或者对象上,并创建一个被通知的对象,分为:编译时织入,类加载时织入,执行时织入。
3.Advice的类型
前置通知(Before advice):在某个连接点(join point)之前执行的通知,但不能阻止连接点前的执行(除非它抛出一个异常)。
返回后通知(After returning advice):在某连接点(join point)正常完成后执行的通知。
抛出异常后通知(After threowing advice):在方法抛出异常后退出时执行的通知。
后通知(After(finally)advice):在某连接点退出的时候执行的通知(不论是正常返回还是异常退出)。
环绕通知(Around Advice):包围一个连接点(join point)的通知。