您的位置:首页 > 编程语言 > Java开发

Spring AOP的一些基础知识

2017-05-10 16:23 183 查看

什么是AOP

AOP是Spring的核心内容之一,Spring能有今天,它功不可没。那什么是AOP呢?



我们先来让他和OOP进行对比一下,下面有一段描述比较不错,我就直接引用了。





AOP的一些基础概念

描述AOP常用的一些术语有通知(Adivce)、[b]连接点(Join point)、切点(Pointcut)、切面(Aspect)、引入(Introduction)、织入(Weaving)[/b]。

通知

就是你定义的一些动作,也就是的 安全,事物,日志等。

通知的五种类型:



连接点

说白了就是能被切入的点。理论上, 程序执行过程中的任何时点都可以作为作为织入点, 而所有这些执行时点都是 连接点。

切点

就是你选择切入的连接点。

切面

通知和切点组成切面。通知说明了干什么和什么时候干(什么时候通过方法名中的before,after,around等就能知道),而切入点说明了在哪干(指定到底是哪个方法),这就是一个完整的切面定义。

引入

允许我们向现有的类添加新方法属性。这不就是把切面(也就是新方法属性:通知定义的)用到目标类中吗

织入

把切面应用到目标对象来创建新的代理对象的过程。有3种方式(编译时,类加载时,运行时),spring采用的是运行时。

AOP实现方式

AOP实现一般分为三种,以它织入的时期进行分类。



而动态代理一般有两种实现方式,JDK自带的和CGLIB。Sring会动态选择代理的方式。JDK需要提供一个接口,而CGLIB则不用,它是生成一个增强的子类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring aop