Maison  >  Article  >  Java  >  Pourquoi est-ce que j'obtiens l'erreur « Le champ nécessite un bean de type introuvable » dans mon API Spring RESTful avec MongoDB ?

Pourquoi est-ce que j'obtiens l'erreur « Le champ nécessite un bean de type introuvable » dans mon API Spring RESTful avec MongoDB ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-01 12:49:30535parcourir

Why am I getting the

'Le champ nécessitait un bean d'un type introuvable' Erreur dans l'API Spring RESTful utilisant MongoDB

Lors de la tentative d'intégration de MongoDB avec une API Spring RESTful, les utilisateurs peut rencontrer l'erreur "'Le champ nécessite un bean d'un type introuvable.'" Cette erreur indique que l'application Spring est incapable de localiser un bean essentiel, dans ce cas, le bean UserService.

Le L'erreur provient de la façon dont Spring recherche les composants du projet. Par défaut, Spring recherche les composants dans les packages annotés avec @SpringBootApplication. Dans ce cas, la classe UsersController, qui dépend du UserService, est située en dehors du chemin d'analyse par défaut.

Pour résoudre ce problème, il existe deux approches principales :

Approche 1 : Personnaliser l'analyse des packages

Spécifiez manuellement les packages qui doivent être analysés pour les composants à l'aide de l'annotation @SpringBootApplication(scanBasePackages={...}). Dans ce cas, ajoutez la ligne suivante à la classe d'application principale :

<code class="java">@SpringBootApplication(scanBasePackages={"main.java.service", "main.java.rest"})</code>

Cela demandera à Spring d'analyser à la fois les packages de service et de repos pour les composants.

Approche 2 : Restructurer la structure du package

Vous pouvez également restructurer la structure du package du projet pour vous assurer que tous les composants associés se trouvent dans le même package. Dans ce cas, réorganisez le projet comme suit :

src/
├── main/
│   └── java/
|       └── com.example/
|       |   ├── Application.java
|       |   ├── model/
|       |   |   └── User.java
|       |   ├── rest/
|       |   |   ├── IndexController.java
|       |   |   └── UsersController.java
|       |   ├── service/
|       |   |   └── UserService.java
└── resources/
    └── application.properties

Cela garantira que tous les composants liés au UserService se trouvent dans le même package et Spring les analysera automatiquement.

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!

Déclaration:
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