Heim >Java >javaLernprogramm >Warum gibt meine Spring RESTful API mit MongoDB den Fehler „Field userService erforderte eine Bean des Typs, die nicht gefunden werden konnte' aus?
Bei der Entwicklung von RESTful-Webdiensten mit Spring und MongoDB kann es sein, dass dies der Fall ist Es tritt ein Fehler wie der folgende auf:
<code class="text">APPLICATION FAILED TO START ... Field userService in main.java.rest.UsersController required a bean of type 'main.java.service.UserService' that could not be found.</code>
Dieses Problem tritt normalerweise auf, wenn Spring die erforderliche Bean im Anwendungskontext nicht finden kann. In diesem Fall weist die Fehlermeldung darauf hin, dass Spring keine Instanz der UserService-Bean finden kann.
Mögliche Lösung 1: Paket-Scan konfigurieren
Standardmäßig Spring sucht nach Beans in Paketen, die mit @SpringBootApplication annotiert sind. Wenn sich die Dienstklasse (z. B. UserService) außerhalb des gescannten Pakets befindet, können Sie die zu scannenden Basispakete mithilfe von @SpringBootApplication(scanBasePackages={"...", "..."}) explizit angeben.
Mögliche Lösung 2: Projektpakete umstrukturieren
Alternativ können Sie die Paketstruktur Ihres Projekts umstrukturieren, um sicherzustellen, dass alle Bean-definierenden Klassen in den gescannten Paketen enthalten sind. Beispielsweise könnten Sie die Serviceklassen in ein Paket unterhalb des Hauptpakets verschieben, in dem sich Application.java befindet.
Sobald Sie das Bean-Konfigurationsproblem behoben haben, sollte der Fehler behoben sein und Ihre Anwendung sollte dazu in der Lage sein erfolgreich ausgeführt.
Das obige ist der detaillierte Inhalt vonWarum gibt meine Spring RESTful API mit MongoDB den Fehler „Field userService erforderte eine Bean des Typs, die nicht gefunden werden konnte' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!