Spring-----AOP简介
Posted 我永远信仰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring-----AOP简介相关的知识,希望对你有一定的参考价值。
需要了解Spring的AOP(面向切面编程),必须要了解一种设计模式——代理模式。
什么是 AOP
AOP (Aspect Orient Programming),直译过来就是 面向切面编程。AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个层次的对象,而面向切面编程是将程序抽象成各个切面。
- 从该图可以很形象地看出,所谓切面,相当于应用对象间的横切点,我们可以将其单独抽象为单独的模块.可以有多个切面。
- 这也是AOP的底层思想。
具体实例
1、代理模式(Aop底层原理)
代理模式的分类:
- 静态代理
- 动态代理
1.1、静态代理
角色:
- 抽象角色:一般使用接口或者抽象类
- 真实角色:被代理的角色
- 代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作
- 客户:访问代理对象的人!
代理模式的好处
- 可以使真实角色操作更纯粹,不用去关注一些公共的业务
- 公共业务交给了代理角色,实现了业务的分工
- 公共业务发生扩展的时候,方便集中管理
1.2、动态代理
- 和静态代理一样
- 动态代理类是动态生成的,不是我们直接写好的
- 两大类:基于接口、基于类
- 基于接口——JDK代理
- 基于类——cglib
- Java字节码
了解两个类:
- Proxy,代理类;
- InvocationHandler,调用处理程序类
动态代理的好处:
- 可以使真实角色操作更纯粹,不用去关注一些公共的业务
- 公共业务交给了代理角色,实现了业务的分工
- 公共业务发生扩展的时候,方便集中管理
- 一个动态代理类代理的的是一个接口,一般对应的是一类业务
- 一个动态代理类可以代理多个类,只要是实现了同一个接口即可。
2、AOP
使用Spring实现Aop
名词解释:
- 切面:是一个类。Log类
- 通知:类中的方法。
- 目标:被通知的对象。log中的方法在那里执行
- 切入点:after、before。在目标执行的位置
以上是关于Spring-----AOP简介的主要内容,如果未能解决你的问题,请参考以下文章