... 38 more
Caused by: java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy0 implementing com.s2hs.dao.UserDAO,org.springframework.beans.factory.InitializingBean,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [com.s2hs.dao.imp.UserDAOImp] for property 'userDao': no matching editors or conversion strategy found
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:231)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:386)
... 42 more
2010-9-9 13:47:01 org.apache.catalina.core.StandardContext listenerStart
异常信息的大概意思就是不能够创建userService bean ,即spring不能为我们注入userService,所以我在userAction中不能正常使用userService才进行业务操作。
我再三检查了applicationContext.xml文件,发现各种<bean>配置均正确,最终经高人指点,原来是spring默认的注入为接口注入方式。如果我们想用实现类进行注入,需要做两方面的工作:
1、导入CGLIB库,即cglib.jar包
2、在spring配置文件applicationContext.xml中进行一下配置:<aop:aspectj-autoproxy proxy-target-class="true"/>
以上两个步骤缺一不可,我就犯在没有写第二步配置代码,添加上就好了。