AOP

Posted chencheno

tags:

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

一.AOP(面向切面编程)

在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程
通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,
函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,
从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
 
技术图片

 

 

二.相关的基本概念:

  • 切面(Aspect):一个模块化的横切逻辑(或称为横切关注点),可能会横切多个对象。
  • 连接点(Join Point):程序执行中的某个具体的执行点。如上图中原对象的fun()就是一个连接点。
  • 增强处理(Advice):切面在某个特定连接点上执行的代码逻辑。(有 前置增强、后置增强、环绕增强、异异常抛出增强、最终增强 等)
  • 切入点(Pointcut):对连接点的特征进行描述,可以使用正则表达式,增强处理和一个切入点表达式相关联。
  • 目标对象(Target object):被一个或多个切面增强的对象。
  • AOP代理(AOPproxy):由AOP框架所创建的对象,实现执行增强处理方法等功能。
  • 织入(Weaving):将增强处理连接到应用程序中的类型或对象上的过程。

三.例子

架包
技术图片

 

 实体类

技术图片

 

 Dao层接口和实现类

技术图片

 

 技术图片

 

 Service层接口和实现类

技术图片

 

 技术图片

 

切面类

技术图片

 

 

 配置文件

技术图片

 

 测试类

技术图片

 

 输出

技术图片

 

 三种注入方式

技术图片

 

 

 

技术图片

 

 

 

 

 

以上是关于AOP的主要内容,如果未能解决你的问题,请参考以下文章

AOP是啥意思?

Aop笔记。

AOP面向切面编程思想。

初识Aop和扩展Aop

Spring AOP快速入门详解

Spring AOP快速入门详解