后端——框架——切面框架——aop——初篇

1、知识体系

aspectJ是aop最流行的一种实现方式,aspectJ的知识体系大致分为以下四个部分。

  1. 静态切面:
    1. 添加静态属性
    2. 修改类的实现,继承关系,例如实现某个接口,继承某个对象。
  2. 动态切面:
    1. 4个核心对象,join pointpointcut表达式adviceaspect
    2. 两种语法:创建aspect,注解方式。
  3. weaving机制
    1. source weaving:源资源为aspect和Java文件。
    2. binary  weaving:源资源为aspect编译之后的class和Java编译之后的class。
    3. load time weaving:原资源为aspect编译之后的class和Java编译之后的class,但是需要配置文件。
  4. 集成spring
    1. spring框架天然支持AOP。即如何熟练的使用spring AOP。

2、原著

  本博客系列是《AspectJ in Action Second Edition》的阅读笔记。本书分为两个部分,第一部分介绍原理和概念,第二部分介绍各种场景。本博客只介绍第一部分。

  1. 第一章节包含九个小节。
    1. 第一小节介绍为什么要使用AOP,处理code tangle 和code scatter的问题。
    2. 第二小节介绍使用AOP时,各个模块的结构。
    3. 第三小节剖析AOP,分为language specification和language implement。
    4. 第四小节介绍AOP的核心概念。重点
    5. 第五小节将AOP与CSS和SQL对比。
    6. 第六小节介绍AOP实现的技术,最流行的为AspectJ。
    7. 第七小节介绍可替代AOP的技术。
    8. 第八小节介绍AOP的优点和缺点。
    9. 第九小节总结。略。
  2. 第二章节包含八个小节。
    1. 第一小节演示HelloWorld示例。
    2. 第二小节介绍AOP的知识体系,最关键的一张图。
    3. 第三小节演示注解语法。
    4. 第四小节介绍weaving机制
    5. 第五小节介绍weaving底层。
    6. 第六小节介绍spring AOP方式。
    7. 第七小节介绍AspectJ的插件,ADJT。
    8. 第八小节总结。略。
  3. 第三章节包含七个小节
    1. 第一小节介绍join point概念。
    2. 第二小节介绍join point八种类型。
    3. 第三小节演示示例,方便理解join point。
    4. 第四小节介绍pointcut概念,基础,包含表达式的格式,特殊字符,逻辑运算符等。
    5. 第五小节介绍三种签名,类签名,方法&构造器签名,字段签名
    6. 第六小节介绍kinded和non-kinded,两种不同的pointcut类型。 
    7. 第七小节总结,略。
  4. 第四章节包含六个小节
    1. 第一小节介绍Advice
    2. 第二小节比较Advice与Java的方法
    3. 第三小节介绍Advice的三种类型。
    4. 第四小节介绍使用non-kinded类型的pointcut收集上下文信息
    5. 第五小节介绍使用reflection API收集上下文信息。
    6. 第六小节总结,略。
  5. 第五章节包含七个小节
    1. 第一小节介绍给单个类添加成员
    2. 第二小节介绍修改单个类的结构,动态添加接口
    3. 第三小节介绍结合第一小节和第二小节,批量的添加成员
    4. 第四小节介绍动态添加注解
    5. 第五小节介绍添加编译警告,错误
    6. 第六小节介绍忽略必检异常
    7. 第七小节总结,略。
  6. 第六章节包含五个小节。
    1. 第一小节比较aspect与class
    2. 第二小节介绍aspect association
    3. 第三小节介绍aspect order,以及内部的advice order
    4. 第四小节介绍keyword privileged
    5. 第五小节总结,略。
  7. 第七章节包含八个小节
  8. 第八章节包含六个小节
  9. 第九章节包含七个小节。

3、链接

官网:http://www.eclipse.org/aspectj/docs.php

原文地址:https://www.cnblogs.com/rain144576/p/14708735.html