2 votes

Spring dans IntelliJ IDEA Community Edition ne se lie pas @Autowired

J'ai également vu des problèmes concernant la version payante, mais je n'ai pas trouvé de solution. IDEA CE se plaint de l'absence d'un bean qui devrait être défini.

The injection point has the following annotations:
    - @org.springframework.beans.factory.annotation.Autowired(required=true)

Action:

Consider defining a bean of type 'domain.service.KitchenService' in your configuration.

Mais dans mon contrôleur, je l'ai :

@Autowired
private KitchenService service;

La majorité des solutions que j'ai trouvées n'étaient pas claires et la seule solution claire consistait à annoter la classe du point de départ avec les 3 annotations suivantes @SpringBootApplication a, mais n'a fait aucune différence.

Comment le résoudre ?

5voto

Anish B. Points 589

Tout d'abord, Intellij IDEA n'est pas un IDE gratuit. Pour le développement à grande échelle et le support du framework, vous devez acheter Intellij IDEA Ultimate Edition pour bénéficier de tout le support.

Dans l'édition gratuite, ils ne fournissent pas de support Spring.

Recommandation pour un IDE gratuit : Le meilleur IDE gratuit est Spring Tools Suite. L'équipe de Pivotal a spécialement conçu l'IDE Eclipse pour le support de Spring Framework et il est bien meilleur que tout autre IDE.

Et Pivotal recommande également d'utiliser cet IDE.

La raison pour laquelle le KitchenService Le haricot n'est pas créé sont les suivants :

  1. Soit @Service L'annotation est manquante sur KitchenService .

  2. Ou vous avez oublié d'ajouter le paquet dans @ComponentScanKitchenService est présent.

Par conséquent, KitchenService est manquant et Spring n'est pas capable de trouver le bean lorsque vous l'autofiltrez.

Veuillez vérifier le problème en fonction de ces raisons.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X