使用spring的动态代理功能时为什么必须指定要代理的目标类的接口? 本帖最后由 wowtianwen 于 2009-12-14 18:42:39 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 通过动态Proxy模式,在目标对象的方法调用前后插入相应的处理代码,任何的接口都能被代理,也符合”面向接口编程”的良好风格.Spring实现原理,其内置的AOP默认使用动态代理模式实现,即在代码中不出现与具体应用相关的接口或者类引用.即这个代理类适用于任何接口的实现 http://blog.csdn.net/yanzi2006/archive/2006/09/10/1201828.aspx看看这里 或者是看一下spring的源码 gfg啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 gs 如果用的是jdk动态代理,那么需要实现接口如果用cglib代理,不需要实现接口具体请参见spring参考手册 如果你还有个sysUserDao2类也实现了IBaseDao接口的话,要想对它进行代理还是得再配置一个代理类。楼主的问题其实是:为什么Proxy.newProxyInstance方法中的第二个参数是接口数组而不是目标实现类。这个你去看java.lang.reflect.Proxy的源代码。不过最关键的生成ProxyClass的那个类看不到另外Proxy.newProxyInstance第一个参数是目标类的classLoader 关于struts1.2+hibernate3.2+spring2.5整合问题 找一个大恩人 xmlrpc简单实例报错 急!在windows下读写文件正常,移植到linux操作系统下读出的文件是堆乱码? xml编辑乱码问题?小弟急等。 struts精髓 编译远程接口时出错提示如下是:(在线等待) corba和ejb急救 怪问题…… 求解给自己的项目加域名 高分!FileOutputStream类write成UTF-8编码时出现乱码 如何设置联合主键中的id自动递增
Spring实现原理,其内置的AOP默认使用动态代理模式实现,即在代码中不出现与具体应用相关的接口或者类引用.即这个代理类适用于任何接口的实现
如果用cglib代理,不需要实现接口具体请参见spring参考手册
如果你还有个sysUserDao2类也实现了IBaseDao接口的话,要想对它进行代理还是得再配置一个代理类。楼主的问题其实是:为什么Proxy.newProxyInstance方法中的第二个参数是接口数组而不是目标实现类。
这个你去看java.lang.reflect.Proxy的源代码。不过最关键的生成ProxyClass的那个类看不到另外Proxy.newProxyInstance第一个参数是目标类的classLoader