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呢?少写代码.专注自身业务逻辑实现(关注本身的业务 ...
随机推荐
- hive1.2.1实战操作电影大数据!
我采用的是网上的电影大数据,共有3个文件,movies.dat.user.dat.ratings.dat.分别有3000/6000和1百万数据,正好做实验. 下面先介绍数据结构: RATINGS FI ...
- color.xml
写控件的时候经常会遇到颜色选择问题,下面贴出常用颜色表示,方便选择. <?xml version="1.0" encoding="utf-8"?>& ...
- 启动tomcat部署项目时 ContainerBase.addChild: start:
严重: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component ...
- Linux解读
Linux中权限(r.w.x)对于目录与文件的意义 一.权限对于目录的意义 1.首先要明白的是目录主要的内容是记录文件名列表和子目录列表,而不是实际存放数据的地方. 2.r权限:拥有此权限表示可以读取 ...
- 服务器上index.jsp变空
早上,前五分钟3台分别浏览了3台服务器,都是正常的,一会后台说其中一台打开页面是空白的,发现这台服务器上的index.jsp文件变成了空白.用其他服务器上的index.jsp文件覆盖,蹦出了另一个错误 ...
- html5拖拽总结
拖拽(Drag 和 drop)是 HTML5 标准的组成部分.拖拽是一种常见的特性,即抓取对象以后拖到另一个位置. Internet Explorer 9.Firefox.Opera 12.Chrom ...
- js获取当前日期时间格式为“yyyy-MM-dd HH:MM:SS”
废话不多说,直接上代码! <!DOCTYPE html><html><head> <meta charset="utf-8"> ...
- Kafka 高可用设计
Kafka 高可用设计 2016-02-28 杜亦舒 Kafka在早期版本中,并不提供高可用机制,一旦某个Broker宕机,其上所有Partition都无法继续提供服务,甚至发生数据丢失对于分布式系统 ...
- python操作csv和excel文件
1.操作csv文件 1).读取文件 import csv f=open("test.csv",'r') t_text=csv.reader(f) for t,i in t_text ...
- 数据挖掘算法(一)C4.5
统计了14天的气象数据D(指标包括outlook,temperature,humidity,windy),并已知这些天气是否打球(play).如果给出新一天的气象指标数据:sunny,cool,hig ...