“Pas de qualification bean de type” pour JPA référentiel au Printemps de Démarrage

Je suis la mise en œuvre de l'API Rest avec Spring Boot. Depuis mes classes d'entité sont à partir d'un package à partir d'un autre paquet, j'ai eu à préciser qu'avec l'annotation EntityScan. Aussi, j'ai utilisé EnableJpaRepositories pour spécifier le package où JPA référentiel est défini. Voici ce que mon projet ressemble:

“Pas de qualification bean de type” pour JPA référentiel au Printemps de Démarrage

//Application.java

@Configuration
@EnableAutoConfiguration
@ComponentScan
@EntityScan("org.mdacc.rists.cghub.model")
@EnableJpaRepositories("org.mdacc.rists.cghub.ws.repository") 

Dans mon contrôleur de classe que j'avais un SeqService objet autocâblés.

//SeqController.java

@Autowired private SeqService seqService;

@RequestMapping(value = "/api/seqs", method = GET, produces = APPLICATION_JSON_VALUE)
public ResponseEntity<List<SeqTb>> getSeqs() {
    List<SeqTb> seqs = seqService.findAll();
    return new ResponseEntity<List<SeqTb>>(seqs, HttpStatus.OK);
}

SeqService est une interface à partir de laquelle j'ai créé une classe d'Haricot pour que SeqServiceBean. Dans le SeqServiceBean je autocâblés la JPA référentiel:

//SeqServiceBean.java

@Autowired private SeqRepository seqRepository;

@Override
public List<SeqTb> findAll() {
    List<SeqTb> seqs = seqRepository.findAll();
    return seqs;
}

//SeqRepository.java

@Repository
public interface SeqRepository extends JpaRepository<SeqTb, Integer> {

    @Override
    public List<SeqTb> findAll();

    public SeqTb findByAnalysisId(String analysisId);
}

Cependant, l'application n'a pas pu démarrer en raison de l'erreur suivante:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.mda.rists.cghub.ws.repository.SeqRepository] 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)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1373) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1119) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545) ~[spring-beans-4.2.5.RELEASE.jar:4.2.5.RELEASE]

Je ne comprends pas l'erreur. Que faut-il avoir à faire avec la qualification de haricot?

Il dit en fait, il ne peut pas trouver admissibles SeqRepository instance de autowire. Ajouter votre structure de projet et certains référentiel de code correspondant.
refactoriser Application.java les annotations de supprimer toute utilisation de cette @SpringBootApplication @EntityScan({"org.mdacc.rists.cghub.modèle"}) @EnableJpaRepositories(basePackages = {"org.mdacc.rists.cghub.ws.référentiel"})
hatake essayé ce que vous avez suggéré et toujours la même erreur
Ajouté projet de la structure et du référentiel de la classe.
Pouvez-vous déplacer votre Application en org.mda paquet et de supprimer tous les EntityScan et EnableJpaRepositories?

OriginalL'auteur Nasreddin | 2016-03-17