方法增强返回的不同对象的作用?
方法增强的proxy代理对象,没有增强返回bean,这个两种不同的情况,放回的不同的对象有什么作用,可不可以统一写成 return null 。 if ("userDao".equals(beanName)) { Object proxy = Proxy.newProxyInstance(bean.getClass().getClassLoader() , bean.getClass().getInterfaces(), new InvocationHandler() { public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { if ("save".equals(method.getName())) { System.out.println("save权限认证"); return method.invoke(bean,args); } return method.invoke(bean,args); } }); return proxy; } else { return bean; }
3
收起
正在回答 回答被采纳积分+1
1回答
chrismorgen
2019-02-12 14:03:52
返回proxy是返回代理类,也就是说save方法被增强了,而直接返回bean则是直接返回当前类了,要注意的是,不能统一写成return null,如果返回的是null那么我们通过getBean方法将得不到目标了,祝学习愉快~
SSM主流框架入门与综合项目实战2018版
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星