Spring AOP中的几个概念

Posted codewithchenzhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring AOP中的几个概念相关的知识,希望对你有一定的参考价值。

AOP,即面向切面编程,是对OOP的一种补充和完善,在OOP中由于有大量代码的重复导致不利于各个模块的重用,而AOP技术利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,提升了软件的可操作性和可维护性。

 AOP的基本概念

(1)Aspect(切面):通常是一个类,里面可以定义切入点和通知,是对横切关注点的抽象。

(2)JointPoint(连接点):程序执行过程中明确的点,一般是方法的调用,还可以是字段或则构造器。

(3)Advice(通知):AOP在特定的切入点上执行的增强处理,包含before,after,afterReturning,afterThrowing,around

(4)Pointcut(切入点):就是带有通知的连接点,在程序中主要体现为书写切入点表达式

(5)AOP代理:AOP框架创建的对象,代理就是目标对象的加强。Spring中的AOP代理可以使JDK动态代理,也可以是CGLIB代理,前者基于接口,后者基于子类

(6)目标对象:代理的目标对象

(7)Waving(织入):将切面应用到目标对象并导致代理对象创建的过程

(8)Introduction(引入):在不修改代码的前提下,引入可以在运行期为类动态地添加一些方法或字段

 

以上是关于Spring AOP中的几个概念的主要内容,如果未能解决你的问题,请参考以下文章

自学Spring框架的几个基本概念

Spring AOP之概念解释

Spring之AOP二

5 分钟理解 Spring 中的 AOP

spring 配置的几个info信息

Spring AOP实现原理