Spring学习之AOP

术语:

1、advice 通知  

切面要进行的工作叫通知可以概括为 做什么?何时做?

  五种类型:

    1、Before

    2、After

    3、After ruturning

    4、After throwing

    5、Around

2、joing-point 连接点

应用通知的时机,应用执行过程中能插入切面的点,在哪里?(调用方法的地方,抛出异常的地方,修改字段.....)

3、point-cut 切点

决定哪个或者哪些连接点接受通知

4、Aspect 切面

通知和切点的集合

5、Introduction 引入

引入允许我们向现有的类添加新方法或属性

6、Weaving 织入

织入是把切面应用到目标对象并创建新的代理对象的过程。在目标对象的生命周期中有多个可以织入的点:

    *编译期:切面在目标类编译时被织入。这种方式需要特殊的编译器。

    *类加载期:切面在目标类加载到JVM时被织入。这种方式需要特殊的类加载器。

    *运行期:切面在应用运行时被织入。SpringAOP以这种方式织入切面。

Spring对AOP的支持:

Spring是由java编写的,因此java开发者可以很快上手,学习成本低

Spring是运行时织入,不需要额外的编译器,类加载器

Spring仅支持方法级别的连接点

定义切点:

定义切面:

Spring学习之AOP_第1张图片

简化重复切点表达:

Spring学习之AOP_第2张图片

要使Audience称为切面,还需进行相关配置:

JavaConfig中使用@EnableAspectJAutoProxy配置:

Spring学习之AOP_第3张图片

或XML中使用配置

Spring学习之AOP_第4张图片

你可能感兴趣的:(Spring,SpringAOP)