学习面向切面

横切关注点:分布于应用中多处的功能
面向切面编程(aop)多要解决:将这些横切关注点与业务逻辑相分离
学习面向切面
横切关注点可以被模块化为特殊的类,这些类被称为切面。这样做有两个好处:首先,每个关注点现在只集中于一处,而不是分散在多处代码中。其次,服务模块更简洁,因为他们只包含关注点的代码。
学习面向切面

  1. 通知:切面的工作被称为通知
  2. 连接点:连接点就是在应用执行过程中能够插入切面的一个点。这个点可以是调用方法时、抛出异常时、甚至修改一个字段时。切面代码可以利用这些点插入到应用的正常流程中,并添加新的行为
  3. 切点:切点的定义会匹配通知所要织入得一个或者多个连接点。我们通常使用明确的类和方法名称来指定这些切点。
  4. 切面:通知和切点的结合。指是什么,在何时何地完成其功能。
  5. 引入:引入允许我们向现有的类添加新方法或者属性
  6. 织入:将切面应用到目标对象来创建新的代理对象的过程。切面在指定的连接点被织入到对象中。