个人随笔
目录
理解AOP中的连接点,切入点,通知,方面的概念
2020-09-17 21:50:17

AOP(面向方面编程),一直对AOP中的相关概念有点模糊,不是很清楚啥是连接点切入点通知方面,这里简要的概述一下。

想要简单的理解这一个概念,我们可以用一Spring的AOP代码来阐述下,代码例子如下:

  1. @Aspect
  2. public class MgrAspect {
  3. @Pointcut("execution(public * com.suibibk.controller.*.*(..))")
  4. public void web() {
  5. }
  6. @Around("web()")
  7. public Object doAround(ProceedingJoinPoint pjp) throws Throwable {
  8. return pjp.proceed();
  9. }
  10. }

当然这里省略了很多代码,这里主要是定义一下概念。

1、连接点

连接点是程序执行过程中的明确定义的点,举个例子,比如某个类的某个方法的调用和执行。比如上面的代码中,链接点是值contrlooer包下面所有类中的方法,每个方法就是一个连接点。

2、切入点

切入点是用来指明所需连接点的程序构造,可以用它来指明一系列的连接点,比如上面代码中的:

  1. @Pointcut("execution(public * com.suibibk.controller.*.*(..))")
  2. public void web() {
  3. }

在Spring的AOP中,当然在不同AOP比如AspectJ中可能定义不一样,

  1. @pointcut 关键字表明气候是一个命名的切入点声明,
  2. web() 是切入点的名字
  3. execution(public * com.suibibk.controller.*.*(..)) 捕获所需要的连接点。

3、通知

通知指定当到达特定切入点处应该执行的diamante,SpringAOP提供了前置,后置,环绕通知,上面的 doAround是环绕通知。

4、方面

方面是一个AOP的模块戴远,比如这里MgrAspect.java这个类就是一个方面。把切入点和通知都包含在一起。


好了,这里只是单纯的介绍一下,就不深入研究了,理解这些概念就好了。

 2567

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2