問題: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框架中的代理)。