Spring AOP基本概念
Spring AOP基本概念
AOP定义
AOP基本术语
- 切面( Aspect ):一个能横切多个对象的模块化的关注点。对Spring AOP来说,切面就是普通的类(基于模式)或使用
@Aspect注解的类。 - 连接点( Joint Point ):程序执行过程中的某个点。对Spring AOP来说,连接点就是方法的执行。
- 通知( Advice ):切面在某个连接点上执行的动作。
- 切入点( PointCut ):匹配连接点的断言。
- 引入( Introduction ):为现有类型添加额外的方法或域。
- 目标对象( Target object ):被一个或多个切面通知的对象,也称为 被通知对象 。因为Spring AOP由运行时代理实现,所以该对象总是一个被代理对象。
- AOP代理( AOP proxy ):为了实现切面契约(通知方法执行等),而由AOP框架创建的对象。在Spring框架中,AOP代理可以用JDK动态代理或CGLIB代理实现。
- 织入( Weaving ):将切面与其他应用类型或对象连接起来,并创建被通知对象。Spring AOP在运行时执行织入操作。
通知类型
- 前置通知( Before Advice ):在连接点之前执行的通知,它不会阻止连接点之前的执行流程(除非抛出异常)。
- 返回通知( After returning Advice ):在连接点正常完成后执行的通知。
- 异常通知( After throwing Advice ):在方法因抛出异常而退出后执行的通知。
- 最终通知( After (finally) Advice ):在连接点不管因何种原因退出后执行的通知。
- 环绕通知( Around Advice ):环绕连接点(比如方法调用)的通知。环绕通知是最常用的通知类型。
Spring AOP基本概念的更多相关文章
- Spring入门篇——第5章 Spring AOP基本概念
第5章 Spring AOP基本概念 本章介绍Spring中AOP的基本概念和应用. 5-1 AOP基本概念及特点 5-2 配置切面aspect ref:引用另外一个Bean 5-3 配置切入点Poi ...
- Spring Aop重要概念介绍及应用实例结合分析
转自:http://bbs.csdn.net/topics/390811099 此前对于AOP的使用仅限于声明式事务,除此之外在实际开发中也没有遇到过与之相关的问题.最近项目中遇到了以下几点需求,仔细 ...
- Spring AOP入门——概念和注意事项
AOP什么? AOP在功能方面,它是之前和之后运行一些业务逻辑,一些操作(比方记录日志.或者是推断是否有权限等),这些操作的加入.全然不耦合于原来的业务逻辑.从而对原有业务逻辑全然是透明. 也就是说. ...
- Spring AOP基础概念及自定义注解式AOP初体验
对AOP的理解开始是抽象的,看到切点的匹配方式其实与正则表达式性质大致一样就基本了解AOP是基本是个什么作用了.只是整个概念更抽象,需要具化理解.下图列表是AOP相关概念解释,可能也比较抽象^_^ 比 ...
- Spring学习总结(1)——Spring AOP的概念理解
1.我所知道的aop 初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等.一下子让你不知所措,心想着:怪不得 很多人都和我说aop多难多难 .当我看进去 ...
- spring AOP的概念和使用
指路:http://www.cnblogs.com/liujiayun/p/5912628.html AOP的来源:OOP在一些重复代码的使用中,代码冗余比较多,利用AOP可以改善. 通过编写切面和切 ...
- 【学习笔记】Spring AOP注解使用总结
Spring AOP基本概念 是一种动态编译期增强性AOP的实现 与IOC进行整合,不是全面的切面框架 与动态代理相辅相成 有两种实现:基于jdk动态代理.cglib Spring AOP与Aspec ...
- Spring aop+自定义注解统一记录用户行为日志
写在前面 本文不涉及过多的Spring aop基本概念以及基本用法介绍,以实际场景使用为主. 场景 我们通常有这样一个需求:打印后台接口请求的具体参数,打印接口请求的最终响应结果,以及记录哪个用户在什 ...
- 化繁就简,如何利用Spring AOP快速实现系统日志
1.引言 有关Spring AOP的概念就不细讲了,网上这样的文章一大堆,要讲我也不会比别人讲得更好,所以就不啰嗦了. 为什么要用Spring AOP呢?少写代码.专注自身业务逻辑实现(关注本身的业务 ...
随机推荐
- er3
<html xmlns:v="urn:schemas-microsoft-com:vml"xmlns:o="urn:schemas-microsoft-com:of ...
- SuiteScript > Script Queue Monitor (Beta)
Share Note: Installing and Accessing the Script Queue Monitor Script Queue Monitor (Beta) is availab ...
- 渗透杂记-2013-07-13 windows/mssql/mssql_payload
扫描一下 Starting Nmap 5.30BETA1 ( http://nmap.org ) at 2011-05-06 09:36 中国标准时间 NSE: Loaded 49 scripts f ...
- [iOS][issis] requestLocationWithReGeocode AMapLocationErrorDomain Code=5 "取消"
Tip: IOS 使用高德地图一次定位 (在该博客找到了解决答案) 在定位时如果出现下面这个Error,说明你的locationManager没有设置成全局变量,导致locationManager提 ...
- SQLite一些函数用法
--格林威治日期时间,比北京时间晚8小时 select datetime('now'); --格林威治日期 select date('now'); --本地时间 select time('now',' ...
- ASP.NET MVC 提示there was error getting the type的解决方法
在MVC中根据模型类创建控制器时提示there was error getting the type的原因是你新建的这个类模型文件后没有重新生成,先重新生成项目就可以添加控制器了.
- PDF二次开发_iStylePDF表单域的填充
wo讲到PDF表单,我们首先需要认识Adobe定义的PDF表单有哪些.以下是我从网上搜索到的简单介绍: PDF 表单简介 PDF 是可移植文档格式(Portable Document Format)的 ...
- kali 安装FTP服务器-vsftpd
参考文章:Ubuntu 14.04 FTP服务器--vsftpd的安装和配置 本文将会介绍在kali2.0上安装vsftpd,主要分成四块:更新源列表.安装和配置vsftpd服务器.使用ftp命令传输 ...
- test 2016-12-6
//$token = drupal_get_token('abc'); //dpm(drupal_valid_token($token,'abc')); //1 //从任何字符串生成一个密码形式的字符 ...
- openssl evp RSA 加密解密
openssl evp RSA 加密解密 可以直接使用RSA.h 提供的接口 如下测试使用EVP提供的RSA接口 1. EVP提供的RSA 加密解密 主要接口: int EVP_PKEY_encryp ...