Java新手,困擾了一下午。
發布時總是報這樣一個錯誤。
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'XXX': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'XXX' must be of type [XXXX], but was actually of type [XXXXX] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:306) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'XXX' must be of type [XXXX], but was actually of type [XXXXX] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:360) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:269) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
最后找到原因:action中引用的包名,與spring bean注冊文件中注冊的包不一致,導致action沒有引用到目標包,反而引用一個錯誤的包(舊包)。
解決方法:確定要引用的新的包名,在action中去掉無錯的import,重新import新的包。