出錯問題:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'XXXXX': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: XXXXXXX; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [XXXXXX] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:288)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1120)
原因是在autowire時,找不到相應的類,上述問題是因爲XXXXX的實現類中沒有加相應的註解。如dao層 @Repository 如service層 @Service
解決方法:
出現上述問題的原因是沒有在相應的實現類中追加相應的註解。
1、本人發現的問題是在Service層的實現類中沒有追加:
@Service(“XXXXX”)
在service的實現類XXXXXServiceImpl.java的開始,追加@Service(“XXXXX”),如下:
@Service(“XXXXX”)
public class XXXXXServiceImpl implements XXXXXService{
……
}
2、追加完之後,把代碼刷新並clean一下,重新啓動tomcat,一般都會成功。