Ошибка : для параметра 0 конструктора в com.tw.api.service.impl.BookServiceImpl требуется компонент типа 'com.tw.api.repository.BookRepository', который не может быть найден.
Исключение : Обнаружено исключение во время инициализации контекста - отмена refre sh попытка: org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка создания компонента с именем 'bookController', определенным в файле [/ Users /rashdul.ehasan/Projects/boot-camp/api/target/classes/com/tw/api/controller/BookController.class]: неудовлетворительная зависимость выражается через параметр конструктора 0; вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка при создании bean-компонента с именем bookServiceImpl, определенным в файле [/Users/rashdul.ehasan/Projects/boot-camp/api/target/classes/com/tw/api/ service / impl / BookServiceImpl.class]: неудовлетворенная зависимость, выраженная через параметр конструктора 0; Вложенное исключение - org.springframework.beans.factory.NoSuchBeanDefinitionException: нет доступного квалифицирующего компонента типа com.tw.api.repository.BookRepository: ожидается, что по крайней мере 1 компонент будет квалифицирован как кандидат для автоматической передачи. Аннотации зависимостей
Есть идеи, как это исправить?
Я исключил автоматическую конфигурацию по умолчанию ...
@SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class,
DataSourceTransactionManagerAutoConfiguration.class,
HibernateJpaAutoConfiguration.class,
MongoAutoConfiguration.class,
MongoDataAutoConfiguration.class})
public class ApiApplication {
Я написал класс bean-компонентов фабрики для mon go но, похоже, туда не добраться.
@Configuration
@ConditionalOnProperty(prefix = "spring", name = "db.dialect", havingValue = "mongo", matchIfMissing = true)
@EnableMongoRepositories(
repositoryFactoryBeanClass = ApiMongoRepositoryFactoryBean.class,
basePackages = "com.tw.api.repository")
public class ApiMongoRepositoryConfig {
@Value("${spring.data.mongodb.uri}")
private String uri;
private static final Logger LOGGER = LoggerFactory.getLogger(ApiMongoRepositoryConfig.class);
public ApiMongoRepositoryConfig() {
LOGGER.info("Repository Configuration: " + ApiMongoRepositoryConfig.class);
}
@Bean
public MongoClient mongoClient() {
return new MongoClient(new MongoClientURI(uri));
}
}
Пакеты:
BookController: package com.tw.api.controller;
BookService: package com.tw.api.service;
BookServiceImpl: package com.tw.api.service.impl;
BookRepository: package com.tw.api.repository;
ApiMongoRepository: package com.tw.api.repository.base;
ApiMongoRepositoryConfig: package com.tw.api.config;
ApiMongoRepositoryFactoryBean: package com.tw.api.helper;
ApiApplication: package com.tw.api;
Вот ссылка на базу кода, https://github.com/er310/boot-camp/tree/master/api