spring整合hibernate中的动态代理问题
2017-03-09 15:46
381 查看
异常问题
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘purchaseBookImp’: Unsatisfied dependency expressed through field ‘bookImpl’; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named ‘bookImpl’ is expected to be of type ‘com.hbks.spring_hibernate.interfacesImp.BookImpl’ but was actually of type ‘com.sun.proxy.$Proxy38’
当初始化purchaseBookImp类bean时需要用到bookImpl和accountImpl两个bean 但是这两个bean用@autowried注释的化就会出这个异常。
这个问题出现的原因:一般在使用annotation的方式注入spring的bean 出现的,具体是由于spring采用代理的机制导致的,看使用的代码:
此 代码不能使用JDK的动态代理注入,原因是jdk的动态代理不支持类注入,只支持接口方式注入;jdk动态代理注入;
如果要使用此代码的方式,必须使用cglib代理;
当然了推荐使用代码2的方式,基于接口编程的方式!
关于spring动态代理的配置:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘purchaseBookImp’: Unsatisfied dependency expressed through field ‘bookImpl’; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named ‘bookImpl’ is expected to be of type ‘com.hbks.spring_hibernate.interfacesImp.BookImpl’ but was actually of type ‘com.sun.proxy.$Proxy38’
当初始化purchaseBookImp类bean时需要用到bookImpl和accountImpl两个bean 但是这两个bean用@autowried注释的化就会出这个异常。
这个问题出现的原因:一般在使用annotation的方式注入spring的bean 出现的,具体是由于spring采用代理的机制导致的,看使用的代码:
此 代码不能使用JDK的动态代理注入,原因是jdk的动态代理不支持类注入,只支持接口方式注入;jdk动态代理注入;
如果要使用此代码的方式,必须使用cglib代理;
当然了推荐使用代码2的方式,基于接口编程的方式!
关于spring动态代理的配置:
1.使用aop配置: <aop:config proxy-target-class="false"> </aop:config>
2. aspectj配置: <aop:aspectj-autoproxy proxy-target-class="true"/>
3. 事务annotation配置: <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
相关文章推荐
- struts + spring + hibernate整合事务配置的问题(请教高手)
- 解决问题(七)——jsf+spring+hibernate整合(一)
- id to load is required for loading 对Struts,Hibernate,Spring整合开发中遇到问题
- spring3.0.5 和hibernate3.6整合问题之java.lang.ClassNotFoundException: org.objectweb.asm.Type
- id to load is required for loading 对Struts,Hibernate,Spring整合开发中遇到问题
- Tapestry + Spring + Hibernate 整合工作及相关问题
- struts+spring+hibernate整合问题解决方法 陆续更新中....
- Struts,Hibernate,Spring整合开发中 DATE类型存入和显示问题
- flex 整合spring,hibernate遇到的一些问题
- Spring + Hibernate 整合时数据库连接数过多问题的解决办法
- Tapestry+spring+hibernate整合使用时HQL语句问题!
- Spring 整合Hibernate 事务代理类解决方案
- 关于Struts、Spring和Hibernate整合的问题
- spring与hibernate整合的问题
- spring +hibernate整合的问题,包重复
- Spring与Hibernate整合的HibernateDaoSupport应用中的“内存泄露”问题(学习心得)
- hibernate3_spring2_dwr2整合问题解决
- Spring与Hibernate整合的HibernateDaoSupport应用中的“内存泄露”问题(学习心得)
- Spring2整合Hibernate3.1问题
- Struts,Hibernate,Spring整合开发中 DATE类型存入和显示问题