三面向切面编程

Posted djlindex

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三面向切面编程相关的知识,希望对你有一定的参考价值。

第八讲  面向切面编程--aop

1、aop:aspect oriented programming 面向切面编程

2、aop在spring中作用

  提供声明式事务服务(声明式事务)

  允许用户实现自定义切面

3、aop:在不改变原有代码的情况下增加新的功能。

  传统的编程模式:

技术图片

Aop的编程模式:横向的编程

技术图片

aop的好处:(代理的好处就是aop的好处)

  a)使得真实角色处理的业务更加纯粹,不再去关注一些公共的事情。

  b)公共的业务由代理来完成---实现业务的分工

  c)公共业务发生扩展时变得更加集中和方便

4、名词解释

      关注点:增加的某个业务。如日志,安全,缓存,事务,异常处理等。(例:在前面代码的代理类的方法中增加了log();方法,那么这个方法就是一个关注点,对于这个方法我们有更好的处理,下面~~)

   切面(Aspect):一个关注点的模块化。(上面log()算是一个日志关注点,但是这个关注点,我们可以将这个方法封装到一个类里面,形成切面,因为可能在方法前面和方法后面都要使用这个方法)

   连接点:连接点表示一个方法的执行,切面在连接点上切入(如:add(); delete(); update(); select()方法是连接点)

   通知:在切面的某个特定的连接点上执行的动作是通知(其实这都是有迹可循的,例如log();是在目标方法执行前执行把它称为关注点,spring把它整理出来了前置通知,后置通知,异常通知,环绕通知,可以认为通知是一个特定的连接点)(也是一个过程,一个动作)

  目标对象:被代理的对象就叫目标对象(如前面写的推广到一般情况下的Object target)

  织入:把切面连接到其它应用程序类型或者对象上,并创建一个被通知的对象(有几种类型,上面).(其实是一个过程)

  综上,只有三个概念  1.关注点------模块化--->2.切面     3.连接点

  再综上,只有切面,连接点两个概念。

 

5、使用spring实现aop

   第一种实现方式--通过springAPI来实现

 

以上是关于三面向切面编程的主要内容,如果未能解决你的问题,请参考以下文章

Spring框架--AOP面向切面编程

Spring框架--AOP面向切面编程

什么是面向切面编程?

(语法基础)浅谈面向切面编程(AOP)

AOP面向切面编程思想。

AOP 面向切面编程AOP 简介 ( AspectJ 简介 | AspectJ 下载 )