, 将其添加到methods中, 除了Pointcut注解的方法
然后对methods进行排序, 如何排序呢?...分别是将method解析为Advise, 另一个是解析切面类中的pointcut切点表达式. 返回返回切点表达式.
接下来, 就是将候选方法和切点表达式封装成Advisor....如上图, 调用链的逻辑是, 调用动态代理方法,比如说div(arg1, arg2), 然后执行调用链中第一个通知advisor1, 然后第一个通知调用第二个通知, 在执行第二个, 以此类推, 当所有的通知执行完...先看第一步: 将匹配的advisor对象转换为interceptor拦截器对象. 为什么要将advisor转换为interceptor拦截器呢?
因为要进行责任链调用....将所有的advisor转换成Interceptor以后放入到interceptors集合中返回.
接下来执行责任链调用.责任链调用的思想主要有两个
1. 递归调用
2.