切面--模块化--AOP理解

AOP专业术语过于抽象,以下转为大白话。
定义:

  1. 切面(aspect)<--->类,切面是类。
  2. 通知(Advice),目标方法调用前后《时间》范围要执行方法。
  3. 连接点(Join point)可以说是要调用的方法,若干...。
  4. 切点(Poincut),目标方法调用执行方法。
  5. 引入(Introduction),向现有类添加新方法或属性。
  6. 织入(Weaving),应用到目标对象并创建新的代理对象的过程,注入连接点在目标对象的生命周期中。

通知(Advice)

  1. 前置通知(Before),
  2. 后置通知(After),
  3. 返回通知(After-returning),
  4. 异常通知(After-throwing),
  5. 环绕通知(Around)

切面由切点和通知组成。
切面,是一个类,切点,通知等是相对切面定义的,@Aspect注解定义。
切点,调用切面外方法,在目标方法【执行时】触发调用的指定方法,@Pointcut。
通知,调用切面内方法,在目标方法执行【前后中】【因为XX】触发调用的指定方法。

在spring中,切面也是一个bean,还需要启动自动代理(织入处理什么的要用到),javaConfig用@EnableAspectJAutoProxy,
xml用

你可能感兴趣的:(java,spring)