ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 软件工程 >> 《Spring设计思想》AOP设计基本原理

《Spring设计思想》AOP设计基本原理(4/6)

来源:网络整理     时间:2016-04-11     关键词:Spring

本篇文章主要介绍了"《Spring设计思想》AOP设计基本原理",主要涉及到Spring方面的内容,对于软件工程感兴趣的同学可以参考一下: 0、前言Spring 提供了AOP(Aspect Oriented Programming) 的支持, 那么,什么是AOP呢?本文将通过一个另外一个角度来诠释A...

关于代理模式
代理模式属于Java代码中经常用到的、也是比较重要的设计模式。代理模式可以为某些对象除了实现本身的功能外,提供一些额外的功能,大致作用如下图所示:
spring mvc,spring下载,spring官网,如何搭建spring框架,springjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播,spring框架,spring什么意思,spring framework,spring4
关于代理模式的详细介绍和分析,请参考我的另一篇博文:

Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)


加入了代理模式的Java程序执行流,使得所有的方法调用都经过了代理对象。对于Spring AOP框架而言,它负责控制着真个容器内部的代理对象。当我们调用了某一个实例对象的任何一个非final的public方法时,整个Spring框架都会知晓。

此时的SpringAOP框架在某种程度上扮演着一个上帝的角色:它知道你在这个框架内所做的任何操作,你对每一个实例对象的非final的public方法调用都可以被框架察觉到!

spring mvc,spring下载,spring官网,如何搭建spring框架,springjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播,spring框架,spring什么意思,spring framework,spring4

既然Spring代理层可以察觉到你所做的每一次对实例对象的方法调用,那么,Spring就有机会在这个代理的过程中插入Spring的自己的业务代码。

4.     Spring AOP的工作原理

前面已经介绍了AOP编程首先要选择它感兴趣的连接点----即切入点(Point cut),那么,AOP能对切入点做什么样的编程呢? 我们先将代理模式下的某个连接点细化,你会看到如下这个示意图所表示的过程:

spring mvc,spring下载,spring官网,如何搭建spring框架,springjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播,spring框架,spring什么意思,spring framework,spring4

为了降低我们对Spring的AOP的理解难度,我在这里将代理角色的职能进行了简化,方便大家理解。(注意:真实的Spring AOP的proxy角色扮演的只能比这复杂的多,这里只是简化,方便大家理解,请不要先入为主)代理模式的代理角色最起码要考虑三个阶段:

1.在调用真正对象的方法之前,应该需要做什么?

2.在调用真正对象的方法过程中,如果抛出了异常,需要做什么?

3.在调用真正对象的方法后,返回了结果了,需要做什么?

AOP对这个方法调用的编程,就是针对这三个阶段插入自己的业务代码。

相关图片

相关文章