Maison > Java > javaDidacticiel > le corps du texte

Pourquoi mon application Spring ne peut-elle pas trouver mon bean UserService ?

DDD
Libérer: 2024-11-02 09:33:31
original
608 Les gens l'ont consulté

Why Can't My Spring Application Find My UserService Bean?

Résolution du problème : « Le champ nécessitait un bean d'un type introuvable »

Le message d'erreur « Field userService in main. java.rest.UsersController nécessitait un bean de type « main.java.service.UserService » qui n'a pas pu être trouvé », indique que l'application Spring ne peut pas trouver un bean enregistré de type « main.java.service.UserService ».

Cause :

Ce problème survient lorsque le conteneur Spring ne parvient pas à localiser la définition du bean pour le type spécifié. Les beans sont normalement définis à l'aide d'annotations telles que @Service, mais lorsque vous utilisez MongoDB avec Spring, vous étendez généralement une interface de référentiel à partir de MongoRepository.

Solutions :

Il existe deux possibilités solutions pour résoudre ce problème :

Solution 1 : Restructuration de la structure du projet

Déplacez la classe UserService dans un package analysé par le conteneur Spring. Par défaut, Spring analyse tous les packages sous le package de base où l'annotation @SpringBootApplication est déclarée. Si votre classe principale se trouve dans com.example.something, déplacez UserService vers com.example.something.service.

Solution 2 : utilisation de @ComponentScan

Ajoutez ce qui suit ligne vers votre classe principale où l'annotation @SpringBootApplication est déclarée :

<code class="java">@SpringBootApplication(scanBasePackages = {
    "com.example.something", // Your default scanned package
    "main.java.service"      // The package containing the UserService class
})</code>
Copier après la connexion

Cela inclura explicitement le package "main.java.service" dans le processus d'analyse du bean.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal