出錯問題:
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,一般都會成功。