【AOP】(3)工作流程

68 阅读1分钟

工作流程

  1. Spring容器启动
  2. 读取所有切面中的切入点
@Pointcut("execution(void com.itheima.dao.BookDao.update())")
private void pt(){}

//这样才算配置了 切入点
 @After("pt()")
public void method(){
    System.out.println(System.currentTimeMillis());
}
  1. 初始化 bean(原始对象、目标对象),判定 bean 对应的类中的方法是否匹配到任意切入点
    • 匹配失败,创建对象
    • 匹配成功,创建 bean 的 代理对象
  2. 获取 bean 执行方法
    • 获取 bean,调用方法并执行,完成操作
    • 获取的 bean 是代理对象,根据代理对象的运行模式运行原始方法增强方法,完成操作。

核心概念

目标对象(Target):原始功能(没加上共性功能)对应的类产生的对象。这种对象是无法直接完成最终工作的

代理(Proxy)目标对象 无法直接完成工作,需要对其进行功能回填,通过原始对象的代理对象实现。