【译文】【学习】Spring AOP

【目标读者】

  本教程是专为java编程人员设计的,用来帮助他们理解Spring 3框架以及基于它的应用。

【前置条件】

  在阅读教程之前你应该有一个比较好对java语言知识的理解

【系列教程】

  Introduction to spring framework

     Spring interview questions

  Dependency injection(ioc) in spring

  Spring hello world example in eclipse

  Spring java based configuaration

  Dependency injection via setter method in spring

  Dependency injection via constructor in spring

  Spring Bean scopes with examples

  Initializing collections in spring

  Beans Autowiring in spring

  Inheritance in Spring

  Spring ApplicationContext

  Spring lifetime callbacks

  BeanPostProcessors in Spring

  Annotation based Configuration in spring

  Spring AOP tutorial

 

【Spring AOP】

  面向切面的编程是一种编程范式,类似于面向对象的编程。面向对象编程的关键单元是类,面向切面编程的关键单元是切面(Aspect),Aspect 可以将关注点模块化,例如事物管理、日志打印。

  它跨越多个类和类型,也指一种横切关注点。

 

【为什么AOP】

  提供一种可插入的方式将关注点引用到业务逻辑之前、之后和周围。举个例子,如日志,你不得不在不同的类输出日志信息,但是由于某些原因可能想去除掉日志,你不得不在所有的类中做出同样的修改 ,然而用切面就可以简单解决。

 

【AOP概念】

  Aspect: 一个Aspect是一个类,实现跨越多个类的关注点,例如日志。它向外呈现的仅是一个名称。

  Joint Point: 连接点,程序执行过程中的一个节点,例如方法的执行。在Spring AOP中,它就是值方法的执行。

  Advice:切面在特定切入点执行的动作。例如,在执行getEmployeeName() 方法之前打印日志,使用 before Advice。

  PointCut:切点是一个表达式,决定在匹配的joint point上执行advice。 Spring使用AspectJ切点表达式语言。

  Target Object: advices被应用到的那些对象。

  AOP Proxy:Spring会创建JDK动态代理来创建代理类,该代理类是结合了Advice的目标类对象。

  Weaving: 从目标对象创建出代理对象的过程称为织入(weaving)。

 

【Advice 的类型】

  Before

  After-Returning

  After-Throwing

  After

  Around

 

 

注:Spring AOP将切入点定位为方法的执行。切面则可以是日志、事物管理等, 仅是一个名字来代表。

 

posted @ 2016-12-30 10:53  彭玉松  阅读(162)  评论(0)    收藏  举报