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
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;
}
}
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();
}
}
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();
}
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?
Mobile version