Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'XXXXXXXX' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1790)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1346)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:657)
... 30 more
XXXXX这个类没有注入,经过研究发现是ElasticsearchService类与单元测试类不在同一个包内。
而SpringBoot项目的Bean装配默认规则是扫描Application类所在包的bean
因此在Application上加上注释:@ComponentScan("XXX包路径"),即可完成装配。