`
vowtree
  • 浏览: 34611 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Spring in Action AOP

阅读更多

1. 散布于程序中多个地点的函数被称为“交叉事务”,它们一般是与程序业务逻辑分开的,把这些交叉事务与业务逻辑分离开正是面向切面编程的作用。

 

2. 使用面向切面编程时,我们仍然是在一个地方定义公共功能,但可以明确地定义这个功能在哪里、以何种方式应用,并且不必修改受影响的类。这样,交叉事务就可以被模块化到特殊的对象里,这些对象就称为“切面”。

 

3. 通知(Advice) 定义切面是什么以及何时使用,描述切面要完成的工作,以及何时执行。方法被调用时所执行的代码。

    连接点(Joinpoint)在程序执行过程中能够插入切面的一个点,能够应用通知的全部点。这个点可以是方法被调用时,异常被抛出时。

    切入点(PointCut)切入点可以缩小切面通知的连接点范围,定义何地执行通知。通常使用明确的类和方法名称,或是利用正则表达式定义匹配的类和方法名来定义切入点。定义哪些连接点会得到通知。封转了决策逻辑,决定是否调用通知。

   切面(Aspect)切面是通知和切入点的结合。通知和切入点共同定义了关于切面的全部内容-----功能、何时、何地

 

4. Spring对AOP的支持仅局限于方法注入。Spring利用代理类包裹切面,从而把它们织入到Spring管理的Bean里。代理类装作目标Bean,截取被通知的方法调用,再把这些调用转发到真正的目标Bean。

代理包裹目标对象,处理方法调用,执行额外的切面逻辑,然后调用目标方法。

 

5. 生成代理类的两种方式

(1)目标对象实现的是一个接口,Spring使用JDK的java.lang.reflect.Proxy类,它允许Spring动态生成一个新类来实现必要的接口、织入任何通知、并且把这些接口的任何调用都转发到目标类。

(2)如果目标类不是实现一个接口,Spring就使用CGLIB库生成目标类的一个子类。在创建子类的时,Spring织入通知,并且把这对这个子类的调用委托到目标类。

 

6.Spring的AOP共包括以下5种类型的通知,分别由一个接口进行定义。

 

(1). 前置通知:在某连接点之前执行的通知                  org.springframework.aop.MethodBeforeAdvice

(2). 返回后通知:在某连接点正常完成后执行的通知。   org.springframework.aop.AfterReturningAdvice

(3). 抛出异常后通知:在方法抛出异常,退出时执行的通知;   org.springframework.aop.ThrowsAdvice

(4). 环绕通知:包围一个连接点的通知,如方法调用,这是最强大的一种通知类型。环绕通知可以在方法调用前后完成自定义的行为。它也会选择是继续执行连接点,还是直接返回它们自己的返回值或通过抛出异常来结束执行。

org.aopallicance.intercept.MethodInterceptor

(5). 引入通知:org.springframework.aop.IntroductionInterceptor 

 

7.

 

 

 

 

 

分享到:
评论

相关推荐

    Spring In Action中文 第五部分

    ” ——Jack Herrington,Code Generation in Action的作者 ----总共8部分rar下载完后解压 ----- Spring in Action. 中文版.part1.rar Spring in Action. 中文版.part2.rar Spring in Action. 中文...

    Spring In Action中文 第六部分

    ” ——Jack Herrington,Code Generation in Action的作者 ----总共8部分rar下载完后解压 ----- Spring in Action. 中文版.part1.rar Spring in Action. 中文版.part2.rar Spring in Action. 中文...

    Spring In Action中文 第七部分

    ” ——Jack Herrington,Code Generation in Action的作者 ----总共8部分rar下载完后解压 ----- Spring in Action. 中文版.part1.rar Spring in Action. 中文版.part2.rar Spring in Action. 中文...

    AspectJ in Action: Enterprise AOP with Spring Applications

    When to use Spring AOP and AspectJ AOP? Expert author Ramnivas Laddad shows how to combine technologies such as Spring, Hibernate, Swing, and JDBC with AspectJ. The book fully covers the latest ...

    Spring in Action中文版 清晰pdf part2

    第一部分展示了Spring框架的两个核心概念:反向控制(Inverstion of Control,IoC)和面向切面编程(Aspect-Oriented Programming,AOP),以便读者理解Spring的基础原理,这些基础原理在本书各个章节都会用到。...

    Spring In Action中文 第八部分

    ” ——Jack Herrington,Code Generation in Action的作者 ----总共8部分rar下载完后解压 ----- Spring in Action. 中文版.part1.rar Spring in Action. 中文版.part2.rar Spring in Action. 中文...

    Spring In Action中文 第三部分

    Spring in Action. 中文版.part1.rar Spring in Action. 中文版.part2.rar Spring in Action. 中文版.part3.rar Spring in Action. 中文版.part4.rar Spring in Action. 中文版.part5.rar Spring in Action. 中文版....

    Spring In Action中文 第一部分

    Spring in Action. 中文版.part1.rar Spring in Action. 中文版.part2.rar Spring in Action. 中文版.part3.rar Spring in Action. 中文版.part4.rar Spring in Action. 中文版.part5.rar ...

    Spring In Action中文 第二部分

    Spring in Action. 中文版.part1.rar Spring in Action. 中文版.part2.rar Spring in Action. 中文版.part3.rar Spring in Action. 中文版.part4.rar Spring in Action. 中文版.part5.rar ...

    Spring In Action中文 第四部分

    Spring in Action. 中文版.part1.rar Spring in Action. 中文版.part2.rar Spring in Action. 中文版.part3.rar Spring in Action. 中文版.part4.rar Spring in Action. 中文版.part5.rar ...

    Spring in Action中文版 清晰pdf part1

    第一部分展示了Spring框架的两个核心概念:反向控制(Inverstion of Control,IoC)和面向切面编程(Aspect-Oriented Programming,AOP),以便读者理解Spring的基础原理,这些基础原理在本书各个章节都会用到。...

    Spring in Action(中文版)(第2版) -- 第二部分

    《Spring in Action(中文版)(第2版)》分成三大部分并附有两个附录,每一部分分别对应Spring框架的一个领域:核心框架、业务和数据层、表示层。每一部分既是建立在前一部分的基础上,同时也可以独立存在。因此,读者...

    Aspectj in Action: Enterprise AOP with Spring Applications (2nd Edition)

    Building on familiar technologies such as JDBC, Hibernate, JPA, Spring Security, Spring MVC, and Swing, you'll apply AOP to common problems encountered in enterprise applications. This book requires...

    spring in action中文版

    spring in action中文版,格式pdf讲解ioc的使用和aop事务控制

    spring in action 第4版

    spring in action 第4版是spring应用开发非常不错的一本基础教程,全书分为3个部分,第一部分介绍了spring的核心概念IOC和AOP;第二部分介绍了spring的web应用;第三部分介绍了spring的后端应用。

    spring in action英文版

     10.1.2 实现知晓Spring的Struts action  10.1.3 委托action  10.2 使用Tapestry  10.2.1 替换Tapestry引擎  10.2.2 装载Spring Bean至Tapestry页面中  10.3 集成JavaServer Faces  10.3.1 解析...

    Spring in Action(第2版)中文版

    4.1.2spring对aop的支持 4.2创建典型的spring切面 4.2.1创建通知 4.2.2定义切点和通知者 4.2.3使用proxyfactorybean 4.3自动代理 4.3.1为spring切面创建自动代理 4.3.2自动代理@aspectj切面 4.4定义纯粹的...

    Spring In Action 2nd Edition Source Code 源码 part01

    Spring In Action 2nd Edition Source Code 源码 part01

    spring in action third 第四章重要内容

    第四章主要介绍了spring中AOP的应用知识。

Global site tag (gtag.js) - Google Analytics