UserService target = new UserService();
ProxyFactory proxyFactory = new ProxyFactory();
proxyFactory.setTarget(target);
proxyFactory.addAdvisor(new ZhouyuPointcutAdivisor());
proxyFactory.addAdvisor(new ZhouyuPointcut2Adivisor());
UserService userService = (UserService) proxyFactory.getProxy();
userService.a();
判断是jdk代理还是cglib代理
以jdk代理为例:
筛选a()适配的advisor{
1.拿出proxyFactory所有的advisors 匹配类,方法,
2.将advisor包装成MethodInterceptor返回(获取advice,包装成interceport)
}
按chain调用代理逻辑,然后接着往下走