J'ai donc appris à connaître le printemps dans les couples de la semaine, en suivant ce tutoriel.
Création d'un service Web RESTful
Tout allait bien jusqu'à ce que j'essaie de l'intégrer à mongodb. J'ai donc suivi ce tutoriel.
Accéder aux données avec MongoDB
Mais dans ma pratique, j'utilise encore partiellement la première. La structure du répertoire de mon projet est donc la suivante.
src/
main/
java/
| model/
| | User.java
| rest/
| | Application.java
| | IndexController.java
| | UsersController.java
| service/
| UserService.java
resources/
application.properties
C'est mon modèle/Utilisateur.java fichier
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;
}
}
C'est mon rest/UsersController.java fichier
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<User> getAllUsers() {
return userService.findAll();
}
}
C'est mon service/UserService.java fichier
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<User, String> {
public List<User> findAll();
}
J'ai pu les compiler (j'utilise gradle pour la compilation car je suis le tutoriel), mais lorsque j'exécute le fichier jar, j'obtiens cette erreur.
L'APPLICATION N'A PAS RÉUSSI À DÉMARRER
Description :
Le champ userService de main.java.rest.UsersController requiert un bean de type 'main.java.service.UserService' qui n'a pas été trouvé. type 'main.java.service.UserService' qui n'a pas pu être trouvé.
Action :
Considérez la définition d'un bean de type 'main.java.service.UserService' dans le fichier votre configuration.
Ne sachant pas ce qui ne va pas, j'ai commencé à chercher sur Google et j'ai trouvé que je devais inclure Beans.xml
et y enregistrer le userService. J'ai fait cela mais cela ne fonctionne pas. Je suis vraiment nouveau dans ce domaine et je n'ai aucune idée de ce qui se passe.