java中AOP的理解

2020-08-04  本文已影响0人  轻轻敲醒沉睡的心灵

1. AOP解释

在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
AOP是Spring框架面向切面的编程思想,AOP采用一种称为“横切”的技术,将涉及多业务流程的通用功能抽取并单独封装,形成独立的切面,在合适的时机将这些切面横向切入到业务流程指定的位置中。

2. AOP的基本概念和用到的注解

2.1Aspect(切面):

通常是指通用功能封装成的这个类,里面可以定义切点和通知。
切面类一般加@Aspect@Compent注解

2.2 Pointcut(切点):

指定要插入该切面(类)的地方,用表达式来定义。一个切面中可以定义多个Pointcut。
@Pointcut注解包括表达式和签名(一个空方法)。表达式有以下10种类型的:

//Pointcut表示式
@Pointcut("execution(* com.test.demo.*(..))")
//Point签名
private void log(){} 

Pointcut定义时,还可以使用&&、||、! 这三个运算

2.3 Advice(通知):

用来定义切点要实现的业务逻辑。一般是方法,方法中 写 逻辑。
Advice 的类型

2.4 JointPoint(连接点、插入点):

表示在程序中明确定义的点,典型的包括方法调用,对类成员的访问以及异常处理程序块的执行等等


SpringBoot加入AOP的例子见文章 ====>>>> Springboot添加AOP打印请求参数

上一篇 下一篇

猜你喜欢

热点阅读