org.springframework.beans.factory.BeanNotOfRequiredTypeException:

問題:org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'goodsFacadeImpl' is expected to be of type 'com.dada.base.facade.GoodsFacadeImpl' but was actually of type 'com.sun.proxy.$Proxy22'

產生原因:由於JDK的動態代理不支持類注入,只支持接口注入

解決方法:

1、  修改代碼,統一使用接口注入,不使用類注入;

2、  使用CGLib代理;

3、  在Spring的AOP配置中添加如下配置,使Spring代理目標類:

<aop:config proxy-target-class="true">

proxy-target-class屬性有兩個值:true或者false。默認狀態下,proxy-target-class屬性的值爲false,那麼被代理類是基於javaSE(JDK)的動態代理(一般被代理類會實現接口);如果顯式的設置了proxy-target-class屬性的值爲true,那麼被代理類就將基於cglib動態代理(spring框架中的代理)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章