第八讲 面向切面编程--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来实现
原文地址:https://www.cnblogs.com/djlindex/p/11365877.html