Spring:Aop面向切面编程
来源:互联网 发布:4399盗号软件 编辑:程序博客网 时间:2024/05/22 17:00
大家都知道aop是spring中的一个核心,那么是否真正的了解过呢,带大家来简单的熟悉aop
---------------------------------------------------分割线---------------------------------------------------------------------------------------------
AOP 面向切面编程,一种软件工程的编程方式
---------------------------------------------------分割线---------------------------------------------------------------------------------------------
AOP 面向切面编程,一种软件工程的编程方式
AOP经典应用:性能见识、事务管理、安全检查(权限管理)、缓存等
SpringAOP使用纯Java实现,不需要专门的编译过程和类加载器,在运行期通过代理方式向目标类织入增强代码
基本概念
1、连接点(Joinpoint):具有特定功能的方法,一般方法(类中的方法)
2、切入点(Pointcut):具有共性功能的方法的统称一种称呼方式
3、目标对象(Target Object):包含切入点的类
4、通知(Advice):将共性功能抽取走,制作独立的功能模块
5、AOP代理对象(AOP Proxy):运行过程使用AOP创建代理对象进行运行,运行过程中将抽取的功 能执行该过程由AOP自动完成,所以称为AOP代理
6、织入(Weaving):称将抽取的功能加入原始功能运行的整个过程叫做织入(动态)织入控制的是字节码
7、引入(Introduction):完整的方法或成员变量抽取加入的过程叫做引入
AOP实现原理
1、接口+实现类:采用JDK“动态代理”生产代理对象
2、实现类:采用 字节码增强框架cglib
配置切入点
从上往下执行
通知类别
before:前置通知(应用:各种校验)
在方法执行前执行,如果其中抛出异常,在异常前执行
after:后通知(应用:清理现场)
方法执行完毕后执行,无论方法中是否出现异常,都执行
afterReturning:返回后通知(应用:常规数据处理)
方法正常返回后执行,如果方法中抛出异常,无法执行
afterThrowing:抛出异常后通知(应用:包装异常信息)
方法抛出异常后执行,如果方法没有抛出异常,无法执行
around:环绕通知(应用:十分强大,可以做任何事情)
方法执行前后分别执行,可以阻止方法的执行
通知顺序:与配置顺序有关
多个切面间
先声明的before先运行,
后声明的before后运行
先声明的after后运行
后声明的after先运行
总结:配置时以最终运行顺序为准
阅读全文
1 0
- spring面向切面编程(aop)
- Spring AOP 面向切面编程
- Spring AOP 面向切面编程
- Spring面向切面编程AOP
- Spring AOP(面向切面编程)
- Spring AOP面向切面编程
- Spring 面向切面编程AOP
- Spring面向切面编程AOP
- Spring AOP面向切面编程
- Spring AOP面向切面编程
- spring aop面向切面编程
- Spring AOP面向切面编程
- Spring AOP:面向切面编程
- Spring 面向切面编程AOP
- Spring面向切面编程(AOP)
- Spring---AOP面向切面编程
- Spring面向切面编程AOP
- Spring:Aop面向切面编程
- iOS 开发流程
- Qt 应用程序添加图标
- 75_异常机制_声明异常throw_方法重写中异常的处理_手动抛出异常
- #matlab中文论坛-SVM01.md
- Linux tree 命令
- Spring:Aop面向切面编程
- 汇编-自定义section
- 006_制作第一个Docker镜像
- OkHttp 3.7源码分析(二)——拦截器&一个实际网络请求的实现
- Mysql的基本理解
- HTMLTestRunner实现报告中的截图
- 26 《基因组:人类自传》 -豆瓣评分9.1
- Jdom解析、生成XML文件
- 区间求差