В моем проекте SpringBoot 1.5.1 я добавил следующую Maven зависимости:Spring загрузка 1.5.1, Spring Data MongoDB Нет квалификационный боба для хранилища
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
и создал хранилище данных Spring MongoDB:
package com.example.domain.repository.decision.parameter;
@Repository
public interface CustomerRepository extends MongoRepository<DecisionAnalysisParameter, String> {
}
Это моя модель:
@Document(collection = "decision_analysis_parameter")
public class DecisionAnalysisParameter implements Serializable {
private static final long serialVersionUID = 1493180175756424789L;
@Id
private String id;
@NotNull
private Long decisionId;
private Set<BaseQuery> characteristicFilterQueries;
private Set<Long> sortCriteriaIds;
private Direction sortWeightCriteriaDirection;
private Direction sortTotalVotesCriteriaDirection;
private Map<String, Double> sortCriteriaCoefficients;
private Long sortCharacteristicId;
private Direction sortCharacteristicDirection;
private String sortDecisionPropertyName;
private Direction sortDecisionPropertyDirection;
private Set<Long> excludeChildDecisionIds;
private Set<Long> includeChildDecisionIds;
private Long userId;
private Integer pageNumber;
private Integer pageSize;
...
}
Сейчас я могу успешно внедрить
@Autowired
private MongoTemplate mongoTemplate;
и работать с коллекциями через этот объект.
Но мое приложение терпит неудачу, когда я пытаюсь внедрить:
@Autowired
private CustomerRepository customerRepository;
со следующим исключением:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.example.CustomerRepository' 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:1486)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585)
... 56 common frames omitted
Это мои классы конфигурации:
@Configuration
@ComponentScan("com.example")
@EnableMongoRepositories(basePackages = "com.example.domain.repository")
@SpringBootApplication
public class TestConfig {
}
Кроме того, я использую Neo4j репозитории, которые работают нормально. Как это исправить?