7.14_20期AOP工作流程

2023-07-19  本文已影响0人  萧修
  1. Spring容器启动
  2. 读取所有切面配置的切入点,@Pointcut,【读取配置!!】
public class MyAdvice {
    //切入点,链接连接点
    @Pointcut("execution(void com.itheima.dao.BookDao.update())")
    private void pt(){};

//    2、共性代码,通知,将通知和切入点绑定,切面
    @Before("pt()")
    public void method(){
        Long startTime = System.currentTimeMillis();
        System.out.println(startTime);
    }
}
  1. 初始化bean,判定bean对应的类的方法是否匹配到任意切入点。比如update方法是否在BookDao中存在

匹配失败,创建对象

com.itheima.dao.impl.BookDaoImpl@55fe41ea
class com.itheima.dao.impl.BookDaoImpl

匹配成功,创建原始对象(目标对象)的代理对象

com.itheima.dao.impl.BookDaoImpl@6913c1fb
class com.sun.proxy.$Proxy19
  1. 获取bean的执行方法
    获取bean,调用方法执行,完成操作
上一篇下一篇

猜你喜欢

热点阅读