web-dev-qa-db-fra.com

Spring Boot JPA CrudRepository

Je travaille avec Spring Boot + Spring Data JPA et je fais face à ce problème lorsque j'essaie d'injecter une classe qui étend CrudRepository:

Causé par: org.springframework.beans.factory.BeanCreationException: Erreur lors de la création d'un bean avec le nom 'topicRepository': Impossible de résoudre le constructeur correspondant [conseil. ____.] paramètres simples pour éviter les ambiguïtés de type)

Classe de référentiel:

public interface TopicRepository extends CrudRepository<Topic, Integer> {}

Classe de service:

@Service
public class TopicService {

      @Autowired
      private TopicRepository topicRepository;
}

Aucune suggestion?

8
A.Chakroun

J'avais le même problème et je l'ai corrigé en changeant de version de Spring Boot. Changer les versions de Spring Data JPA n'a eu aucun effet (c'est là que j'ai supposé que le bogue serait), donc je pense qu'il y a un bogue dans Spring Boot version 1.5.1. Je suis revenu à la version 1.4.3 et l'erreur a disparu. Je n'ai pas essayé les versions ultérieures/différentes, vous devrez peut-être simplement essayer vos dépendances et leurs versions.

Pour mémoire, vous pouvez avoir votre classe de service annotée avec @Repository, cela ne devrait faire aucune différence. J'ai configuré ces applications de la même manière en utilisant le modèle service/dao, et les annotations n'ont jamais été aussi pointilleuses. J'espère que cela aidera d'autres personnes dont le flux de développement de Spring Boot génère une erreur!

9
Trevor Bye

Quelles versions de spring-data-commons et de spring-data-jpa utilisez-vous? Je viens de rencontrer ceci en utilisant spring-data-commons 1.13.x avec spring-data-jpa 1.10.x. La mise à niveau de spring-data-jpa vers la version 1.11.x a résolu le problème pour moi.

4
Andy Sampson

Avait le même problème sur 1.5.2. Le passage à la version 1.5.5 a résolu le problème.

0
dzirtbry

Moi aussi j'ai eu le même problème après la mise à jour de Spring Boot à la version 1.5.4. 

J'utilise aussi spring-data-envers, qui était à la version 1.0.4. Le passage à la version 1.4.1 a résolu le problème.

J'espère que ça aide quelqu'un :)

0
r4phG

Assure-toi:

1) TopicRepository est annoté avec @Repository.

2) Les packages d’analyse sont configurés:

<jpa:repositories base-package="mypkg.repositories"></jpa:repositories>
0
Maciej Kowalski