码迷,mamicode.com
首页 > 其他好文 > 详细

三、面向切面编程

时间:2019-08-16 21:11:03      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:ram   面向切面   str   spec   mamicode   特定   日志   表示   扩展   

第八讲  面向切面编程--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来实现

 

三、面向切面编程

标签:ram   面向切面   str   spec   mamicode   特定   日志   表示   扩展   

原文地址:https://www.cnblogs.com/djlindex/p/11365877.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!