Вот код, который дал мне ниже исключение:Ошибка при инициализации SolrRepository: Неудовлетворенный зависимость выражается через поле
@SpringBootApplication
@ComponentScan(basePackages = { "com.ns.services.search", "com.ns.services.commons.exceptions" })
@EnableSolrRepositories(value = "com.ns.services.search", schemaCreationSupport = true, multicoreSupport = true)
@EnableSwagger2
public class SearchServiceApplication {
public static void main(String[] args) {
SpringApplication.run(SearchServiceApplication.class, args);
}
@Bean
public HttpSolrClient solrClient() {
return new HttpSolrClient("http://localhost:8983/solr");
}
@Bean
public SolrTemplate solrTemplate(SolrClient client) throws Exception {
return new SolrTemplate(client);
}
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any()).build();
}
@Bean
public SolrTemplate bookTemplate() throws Exception {
SolrTemplate solrTemplate = new SolrTemplate(solrClient());
solrTemplate.setSolrCore("demo");
return solrTemplate;
}
}
BookRepository.java
@NoRepositoryBean
public interface BookRepository extends SolrCrudRepository<Book, String> {
List<Book> findByName(String name);
}
BookService.java
public interface BookService {
Book addBookToIndex(Book book);
}
BookServiceImpl.java
@Service
public class BookServiceImpl implements BookService {
public BookServiceImpl() {
super();
}
@Autowired
public BookRepository bookRepository;
@Override
public Book addBookToIndex(Book book) {
return bookRepository.save(book);
}
}
Exception трассировки при попытке запуска службы:
org.springframework.beans.factory.BeanCreationException: Ошибка при создании боба с именем 'BookController': Инъекция autowired зависимости не удался; Вложенное исключение - это org.springframework.beans.factory.BeanCreationException: Не удалось autowire field: private com.neighbourspoon.services.search.repositories.BookRepository com.neighbourspoon.services.search.api.rest.BookController.bookRepository; Вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: не существует квалификационного компонента типа [com.neighbourspoon.services.search.repositories.BookRepository], найденного для зависимости: ожидается как минимум 1 компонент, который квалифицируется как кандидат autwire для этой зависимости. Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (required = true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues (AutowiredAnnotationBeanPostProcessor.java:334) ~ [spring-beans- 4.2.6.RELEASE.jar: 4.2.6.RELEASE] на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:1214) ~ [spring-beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:543) ~ [spring-beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:482) ~ [spring-beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:306) ~ [spring-beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] на org.springframework.beans .factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:230) ~ [spring-beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] на org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:302) ~ [spring-beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] на org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:197) ~ [spring-beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] по адресу org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:772) ~ [spring-beans-4.2.6 .RELEASE.jar: 4.2.6.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:839) ~ [spring-context-4.2.6.RELEASE.jar: 4.2.6.RELEASE] в org.springframework.context.support. AbstractApplicationContext.refresh (AbstractApplicationContext.java:538) ~ [spring-context-4.2.6.RELEASE.jar: 4.2.6.RELEASE] в org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh (EmbeddedWebApplicationContext.java: 118) ~ [spring-boot-1.3.5.RELEASE.jar: 1.3.5.RELEASE] at org.springframework.boot.SpringApplication.refresh (SpringApplication.java:766) [spring-boot-1.3.5.RELEASE .jar: 1.3.5.RELEASE] at org.springframework.boot.SpringApplication.createAndRefreshContext (SpringApplication.java:361) [spring-boot-1.3.5.RELEASE.jar: 1.3.5.RELEASE] at org. springframework.boot.SpringApplicat ион.run (SpringApplication.java.307) [spring-boot-1.3.5.RELEASE.jar: 1.3.5.RELEASE] на org.springframework.boot.SpringApplication.run (SpringApplication.java:1191) [spring-boot- 1.3.5.RELEASE.jar: 1.3.5.RELEASE] на org.springframework.boot.SpringApplication.run (SpringApplication.java:1180) [spring-boot-1.3.5.RELEASE.jar: 1.3.5.RELEASE ] at com.neighbourspoon.services.search.main.SearchServiceApplication.main (SearchServiceApplication.java:26) [bin /: na] Вызвано: org.springframework.beans.factory.BeanCreationException: Не удалось создать поле autowire: private com .neighbourspoon.services.search.repositories.BookRepository com.neighbourspoon.services.search.api.rest.BookController.bookRepository; Вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: не существует квалификационного компонента типа [com.neighbourspoon.services.search.repositories.BookRepository], найденного для зависимости: ожидается как минимум 1 компонент, который квалифицируется как кандидат autwire для этой зависимости. Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (required = true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElement.inject (AutowiredAnnotationBeanPostProcessor.java:573) ~ [spring- beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] at org.springframework.beans.factory.notation.InjectionMetadata.inject (InjectionMetadata.java:88) ~ [spring-beans-4.2.6.RELEASE. jar: 4.2.6.RELEASE] на org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues (AutowiredAnnotationBeanPostProcessor.java:331) ~ [spring-beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] ... 17 общих фреймов опущено Вызвано: org.springframework.beans.factory.NoSuchBeanDefinitionException: Отсутствует квалификационный компонент типа [com.neighbourspoon.services.search.reposito ries.BookRepository], найденный для зависимости: ожидается как минимум 1 компонент, который квалифицируется как кандидат autwire для этой зависимости. Аннотации зависимостей: {@ org.springframework.beans.factory.annotation.Autowired (required = true)} at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException (DefaultListableBeanFactory.java:1373) ~ [spring-beans- 4.2.6.RELEASE.jar: 4.2.6.RELEASE] по адресу org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency (DefaultListableBeanFactory.java:1119) ~ [spring-beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] на org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency (DefaultListableBeanFactory.java:1014) ~ [spring-beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutwiredFieldElement.inject (AutowiredAnnotationBeanPostProcessor.java:545) ~ [spring-beans-4.2.6.RELEASE.jar: 4.2.6.RELEASE] ... 19 общие рамки опущены
2016-07-03 15: 08: 34.596 INFO 35332 ---