在这里增加功能的invoke是系统自动调用的吗?
UserService userServiceProxy = (UserService)Proxy.newProxyInstance(userService.getClass().getClassLoader(),
userService.getClass().getInterfaces(),
invocationHandler);
userServiceProxy.createUser();
在这个代码里我没有调用invoke方法为什么还是会输出增强后的时间?
在这里增加功能的invoke是系统自动调用的吗?
具体流程是怎样的可以解释一下吗,还有这个和环绕通知的ProceedingJoinPoint.proceed()
又有什么关系呢
正在回答
同学你好,1、这里可以这样理解:实现了代理之后,调用UserService中的方法都相当于调用了这个invoke方法。
2、同学的说法是正确的,当实现了动态代理后,会调用解析这个调invoke方法。
3、同学是问invoke方法的调用过程吗。
如果是,可以简单这样理解:就是先新建其类对象(实例),然后把它传入newProxyInstance方法中,在底层中会自动解析并用它来调用它的invoke方法,实现对方法的扩展。
如果再具体涉及到底层中的执行过程,老师也无法准确描述,目前同学这里记住会用即可。
4、这个动态代理和环绕通知的ProceedingJoinPoint.proceed()并没有什么关系,这里老师只是想过过环绕通知来对比理解这个环绕通知。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星