„Field benötigte eine Bean des Typs, der nicht gefunden werden konnte.“ Fehler Spring RESTful API mit MongoDBJava

Java-Forum
Anonymous
 „Field benötigte eine Bean des Typs, der nicht gefunden werden konnte.“ Fehler Spring RESTful API mit MongoDB

Post by Anonymous »

Also habe ich in den letzten Wochen Spring kennengelernt und das Tutorial Einen RESTful-Webdienst erstellen befolgt.
Alles war gut, bis ich versuchte, es in MongoDB zu integrieren. Also habe ich das Tutorial Zugriff auf Daten mit MongoDB befolgt.
Aber in meiner Praxis verwende ich teilweise immer noch das erste. Die Struktur meines Projektverzeichnisses sieht also so aus:

Code: Select all

src/
├── main/
│   └── java/
|       ├── model/
|       |   └── User.java
|       ├── rest/
|       |   ├── Application.java
|       |   ├── IndexController.java
|       |   └── UsersController.java
|       └── service/
|           └── UserService.java
└── resources/
└── application.properties
Dies ist meine model/User.java-Datei:

Code: Select all

package main.java.model;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection="user")
public class User {

private int age;
private String country;
@Id
private String id;
private String name;

public User() {
super();
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getCountry() {
return country;
}

public void setCountry(String country) {
this.country = country;
}
}
Dies ist meine rest/UsersController.java-Datei:

Code: Select all

package main.java.rest;

import java.util.List;
import main.java.service.UserService;
import main.java.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping(value = "/users")
public class UsersController {

@Autowired
UserService userService;

@RequestMapping(method = RequestMethod.GET)
public List getAllUsers() {
return userService.findAll();
}
}
Dies ist meine service/UserService.java-Datei:

Code: Select all

package main.java.service;

import java.util.List;
import main.java.model.User;
import org.springframework.data.mongodb.repository.MongoRepository;

public interface UserService extends MongoRepository {
public List findAll();
}
Ich konnte sie kompilieren (ich verwende Gradle zum Kompilieren, weil ich dem Tutorial gefolgt bin), aber als ich die JAR-Datei ausführte, wurde dieser Fehler ausgegeben:


ANWENDUNG konnte nicht gestartet werden

Beschreibung:
Feld userService in main.java.rest.UsersController benötigte eine Bean vom
Typ „main.java.service.UserService“, die nicht gefunden werden konnte.
Aktion:
Erwägen Sie die Definition einer Bean vom Typ „main.java.service.UserService“ in
Ihrer Konfiguration.

Ich bin mir nicht sicher, was falsch ist. Ich fing an zu googeln und stellte fest, dass ich die Datei Beans.xml einbinden und den userService darin registrieren muss. Ich habe das getan, aber es funktioniert nicht.
Wie kann ich das Problem beheben?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post