Spring AOP的术语:
Aspect:
切面,由一系列切点、增强和引入组成的模块对象,可定义优先级,从而影响增强和引入的执行顺序。事务管理(Transaction
management)在java企业应用中就是一个很好的切面样例。所以他不是一个被代理的对象。
Join point:
接入点,程序执行期的一个点,例如方法执行、类初始化、异常处理。 在Spring AOP中,接入点始终表示方法执行。
Advice:
增强,切面在特定接入点的执行动作,包括 “around,” “before” and
"after"等多种类型。包含Spring在内的许多AOP框架,通常会使用拦截器来实现增强,围绕着接入点维护着一个拦截器链。
Pointcut:
切点,用来匹配特定接入点的谓词(表达式),增强将会与切点表达式产生关联,并运行在任何切点匹配到的接入点上。通过切点表达式匹配接入点是AOP的核心,Spring默认使用AspectJ的切点表达式。
Introduction:
引入,为某个type声明额外的方法和字段。Spring AOP允许你引入任何接口以及它的默认实现到被增强对象上。
Target object:
目标对象,被一个或多个切面增强的对象。也叫作被增强对象。既然Spring AOP使用运行时代理(runtime
proxies),那么目标对象就总是代理对象。
AOP proxy:
AOP代理,为了实现切面功能一个对象会被AOP框架创建出来。在Spring框架中AOP代理的默认方式是:有接口,就使用基于接口的JDK动态代理,否则使用基于类的CGLIB动态代理。但是我们可以通过设置proxy-target-class=“true”,完全使用CGLIB动态代理。
Weaving:
织入,将一个或多个切面与类或对象链接在一起创建一个被增强对象。织入能发生在编译时 (compile time
)(使用AspectJ编译器),加载时(load time),或运行时(runtime) 。Spring
AOP默认就是运行时织入,可以通过枚举AdviceMode来设置。
Spring AOP的术语:相关推荐
- Spring AOP相关术语解释及简单使用
什么是面向切面编程 百度百科定义为:在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术. ...
- 结合代码彻底理解Spring AOP的术语
每本Spring的书在介绍AOP之前,总能有一箩筐的术语,看半天似懂非懂,也就没兴趣再继续学习下去,其实并没有这么复杂. 难懂的定义我们就不贴了,就说说咱们通俗的解释,下面让我们结合代码来理清楚各个术 ...
- spring aop的术语
一.Aop的术语 1.1 术语梳理 连接点:目标类中使用通知进行增强的方法(候选中). 切点:目标类中使用通知进行增强的方法(已被选中使用). 通知:包含业务增强逻辑的方法. 切面:通知+切点的结合之 ...
- Spring AOP 的术语
看视频学习spring笔记--AOP术语 动态代理的invocationHandle中一般先if判断方法名,根据方法名拦截相应方法,放行其他方法.当然也可以拦截该类的所有方法. 连接点JoinPoin ...
- Spring AOP专业术语
- 从面向对象设计思想出发理解Spring AOP编程
都说AOP是OOP(面向对象)的继承与延续,我觉得理解AOP还是得从OOP出发,经历从暴露问题到解决问题的过程. 目录 一. 面向对象设计思想(OOP) (1)概述 1. POP编程 2. OOP的优 ...
- Spring AOP全面详解(超级详细)
如果说IOC 是 Spring 的核心,那么面向切面编程AOP就是 Spring 另外一个最为重要的核心@mikechen AOP的定义 AOP (Aspect Orient Programming) ...
- Spring AOP之pointcut语法
在文章Spring AOP之术语简介中有提到,pointcut定义了一种模式,用于匹配join point.Spring AOP中使用了AspectJ的pointcut模式定义语言. 声明一个poin ...
- 图文详解Spring AOP,你学会了吗?
如果说 IOC 是 Spring 的核心,那么面向切面编程AOP就是 Spring 另外一个最为重要的核心,需要重点掌握@mikechen 本篇主要会详解以下六点: 1.AOP的定义 2.AOP的作用 ...
最新文章
- grpc 传递上下文_grpc 源码笔记 02:ClientConn
- 不可错过的 GAN 资源:教程、视频、代码实现、89 篇论文下载
- 一图看懂所有机器学习概念
- JZOJ 4932. 【NOIP2017提高组模拟12.24】B
- boost::hana模块使用 Hana 实现基本维度分析的示例
- 动画函数requestAnimationFrame
- 电脑卡顿不流畅怎么解决_如何解决因电脑内存容量不足引起的卡顿?
- gearman mysql编译_gearman初探(一、编译和安装)
- 微信公众平台开发者文档
- 38..Node.js工具模块---底层的网络通信--Net模块
- error 系统错误 错误码10007_工业界纠错系统
- Java中的String的长度限制问题
- 信息论复习四:信源编码
- win10如何还原计算机名,win10电脑一键还原教程
- 利用Python自制雷霆战机小游戏,娱乐编程,快乐学习!
- 关于微信授权登录的用户取消-2的问题
- C语言趣味一百道 第25题 2017_12_24
- yolov3原理+训练损失
- GIF修复(图片隐写)
- Android 11.0 根据包名授予WRITE_SETTINGS权限