ich diese KonfigurationMongo: Repositories nicht mehr funktioniert
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xsi:schemaLocation="http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<mongo:repositories base-package="com.x.record.persistence.repo"
mongo-template-ref="mongoTemplate" />
<context:component-scan base-package="com.x.record.persistence.impl" />
</beans>
wo im Paket com.x.record.persistence.impl
ich eine Komponente habe, die das Repository von com.x.record.persistence.repo
muss.
Dies funktioniert für den Frühling-data-mongodb Version 1.5.2.RELEASE
Wenn ich mehr als 1.6.0.RELEASE auf die jede Version aktualisieren (Ich habe versucht, mit 1.6.2 und 1.7.0) dieses funktioniert nicht mehr. Es ist, als ob der Mongo-Repository Scan funktioniert nicht und ich erhalte die Fehlermeldung:
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'noAuthRecordPersistenceService': Injection of autowired dependencies failed;
nested exception is org.springframework.beans.factory.BeanCreationException:
Could not autowire field: private com.x.record.persistence.repo.RecordRepository com.x.record.persistence.impl.NoAuthRecordPersistenceServiceImpl.repo;
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type [com.x.record.persistence.repo.RecordRepository] 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)}
Irgendwelche Ideen?
UPDATE: Wenn ich MongoRepository statt PagingAndSortingRepository verwenden es funktioniert:
dies nicht funktioniert (mit 1.6.x und höher): öffentliche Schnittstelle RecordRepository erweitert PagingAndSortingRepository, RecordRepositoryCustom {
Page<Record> findByOrgHierarchy(String orgId, Pageable pageable);
Record findOneByIdAndOrgHierarchyIn(String id, Collection<String> orgIds);
int countByGsRunId(String gsRunId);
}
Dies funktioniert (mit 1.6.x und höher): öffentliche Schnittstelle RecordRepository erweitert MongoRepository, RecordRepositoryCustom {
Page<Record> findByOrgHierarchy(String orgId, Pageable pageable);
Record findOneByIdAndOrgHierarchyIn(String id, Collection<String> orgIds);
int countByGsRunId(String gsRunId);
}
Die wirdest Sache ist, dass ich andere repos, die
Wo befindet sich Ihr noAuthRecordPersistenceService? Es könnte Ihr Kontext sein: component-scan ist zu eng und dieser Service wird nicht im Frühling instanziiert. – sfat
Ich habe diese Konfiguration versucht und es funktioniert für mich mit beiden Versionen: 1.5.X und 1.6.X. Können Sie mehr Daten teilen: pom.xml, Repository und Service-Code, etc ...? – jfcorugedo