spring beanFactory那些就不说了,这次发生这个异常纠结好了好久,网上找了很多资料看,终于发现问题。
自动装配bean注入的时候,如果Spring配置定义了aop声明式事务,类似如下方式
<aop:config>
<aop:pointcut id="serviceMethods2"
expression="execution(public * net.villion.framework..*(..))" />
<aop:advisor advice-ref="txAdvice2" pointcut-ref="serviceMethods2" />
</aop:config>
那么@autowire注入bean的时候,会采用代理的模式注入Proxy,如果是接口定义的注入属性对象没有问题,如果是实体bean,那么就会有java.lang.ClassCastException.或者报类似这个 org.springframework.beans.TypeMismatchException: Failed to convert property value of type [com.sun.proxy.$Proxy ? implements .....错误。
以前使用好好的,我也没注意定义aop事务时,把包路径设置得太大了,覆盖了全部,导致注入出现异常情况。
给自己一个教训,这次找了好久,发文希望网上能够给大伙儿一个直接找到问题的地方。
spring autowired时发生异常情况,布布扣,bubuko.com
时间: 2024-10-29 19:09:47