J'utilise l'annotation @autowire (Projet Spring Maven). Le service WebService / API suivant fonctionne bien. Jusqu'à ce que j'ajoute l'annotation @Autowire dans Post.java.
chemin de projet / fichiers strong>: p> J'ai un sentiment que je suis supposé utiliser certaines de ces autres annotations telles que @Service, @Component, @Controller, @configuration, ou même @ComponentsCan, etc. Je ne peux tout simplement pas comprendre où répertoriez-vous. ces choses. P> Des idées quant à ce que je dois faire? Comme je l'ai dit, tout fonctionne parfait avec le @Autowired commenté. P> pensées? p> p>
4 Réponses :
Une annotation @ID a été requise dans mon fichier / classe / classe de JAJAVA.
package com.pc.visitor; import javax.validation.constraints.NotBlank; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "visitors") public class newvisitor { @Id private long id; @NotBlank private String firstname; @NotBlank private String lastname; @NotBlank private String month; @NotBlank private String day; @NotBlank private String year; @NotBlank private String socialsecuritynumber; @NotBlank private String street1; private String street2; @NotBlank private String city; @NotBlank private String state; @NotBlank private String zip; @NotBlank private String phone; @NotBlank private String email; public newvisitor(){ super(); } public newvisitor(String firstname, String lastname, String month, String day, String year, String socialsecuritynumber, String street1, String street2, String city, String state, String zip, String phone, String email) { super(); this.firstname = firstname; this.lastname = lastname; this.month = month; this.day = day; this.day = year; this.day = socialsecuritynumber; this.day = street1; this.day = street2; this.day = city; this.day = state; this.day = zip; this.day = phone; this.day = email; } /** * @return String return the firstname */ public String getFirstname() { return firstname; } /** * @param firstname the firstname to set */ public void setFirstname(String firstname) { this.firstname = firstname; } /** * @return String return the lastname */ public String getLastname() { return lastname; } /** * @param lastname the lastname to set */ public void setLastname(String lastname) { this.lastname = lastname; } /** * @return String return the month */ public String getMonth() { return month; } /** * @param month the month to set */ public void setMonth(String month) { this.month = month; } /** * @return String return the day */ public String getDay() { return day; } /** * @param day the day to set */ public void setDay(String day) { this.day = day; } /** * @return String return the year */ public String getYear() { return year; } /** * @param year the year to set */ public void setYear(String year) { this.year = year; } /** * @return String return the socialsecuritynumber */ public String getSocialsecuritynumber() { return socialsecuritynumber; } /** * @param socialsecuritynumber the socialsecuritynumber to set */ public void setSocialsecuritynumber(String socialsecuritynumber) { this.socialsecuritynumber = socialsecuritynumber; } /** * @return String return the street1 */ public String getStreet1() { return street1; } /** * @param street1 the street1 to set */ public void setStreet1(String street1) { this.street1 = street1; } /** * @return String return the street2 */ public String getStreet2() { return street2; } /** * @param street2 the street2 to set */ public void setStreet2(String street2) { this.street2 = street2; } /** * @return String return the city */ public String getCity() { return city; } /** * @param city the city to set */ public void setCity(String city) { this.city = city; } /** * @return String return the state */ public String getState() { return state; } /** * @param state the state to set */ public void setState(String state) { this.state = state; } /** * @return String return the zip */ public String getZip() { return zip; } /** * @param zip the zip to set */ public void setZip(String zip) { this.zip = zip; } /** * @return String return the phone */ public String getPhone() { return phone; } /** * @param phone the phone to set */ public void setPhone(String phone) { this.phone = phone; } /** * @return String return the email */ public String getEmail() { return email; } /** * @param email the email to set */ public void setEmail(String email) { this.email = email; } }
1.
Vous pouvez utiliser Printemps initializr , qui génère une structure de projet de démarrage à ressort. p>
Vous devez ajouter ces dépendances au moins: p>
Utilisation de ces codes générés, (REMARQUE: le démarrage du ressort utilise Hibernate en tant que mise en œuvre JPA Par défaut, pas eclipselink a>.) p> 2. p> L'entité JPA a besoin d'un identifiant (clé primaire) . p> Vous avez décidé que le type d'identifiant de pom.xml code> sera corrigé. p>
Newserv est code> est
long code> P>
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
public class newvisitor {
@Id
@GeneratedValue
private Long id;
...
Merci, c'est comme ça que je l'ai maintenant, qu'est-ce que "GénéraValue" fait cependant?
Réglage pour ID Auto-Generation. ici est une explication plus détaillée.
Quelques choses qui pourraient aider: p>
Vous devez utiliser: p>
et placez tous les fichiers là-bas p>
Newsvisitor -> NewVisitor
Post -> Post
VisitOrpository -> VisitOrpository P> src / main / java / com / pc / visiteur code> p>
IdemPoke sur les fichiers de chemin, il suit la standard, SRC> Main> Java> COM> PC> Visiteur> Fichier. Tous les autres points ont un sens, merci d'avoir pris le temps de répondre. J'ai pu résoudre en ajoutant le @ID.
Pouvez-vous essayer les options suivantes: Si JParepository n'est pas nécessaire spécifiquement, changez-le avec CruRepository. Ou si vous avez besoin de jParePository, ajoutez @enableJPeePositories ("com.pc.visitor") sur votre application principale avec @springbooTapplication Annotation
Lorsque vous ajoutez
@Autowired code> dans la classe RestController, vous obtenez le requis un haricot de type i> est-ce?
Cela devrait fonctionner bien, vous pouvez partager le lien GitHub si possible
Pour commencer vos dépendances sont en désordre. Supprimer le
org.springframework.data code> dépendances et utilisez le
Spring-boot-démarreur-data-data-data-jpa code> à la place. Vous n'avez pas besoin du
jackson-databind code> soit comme celui-ci est également inclus dans le
Spring-boot-starter-web code> par défaut. Et avez-vous vraiment besoin d'EclipsLink ou d'utiliser l'hibernate par défaut (qui fonctionne automatiquement) pour la liaison ECLPSE, vous devez faire une configuration vous-même.
Si vous devez utiliser EclipsLink au lieu d'hibernate, voir: Baeldung.com/spring-eclipselink
@stekin Quelle est la différence entre crudepository et jParePository? Quels sont les avantages et les inconvénients de chacun?
@M. Deinum, ha! Quand j'ai posté ceci, je savais que j'allais devenir mou pour les dépendances, je n'ai pas passé beaucoup de temps à creuser dans les dépendances de l'assistance de printemps, alors j'ai châmé mon chemin. Bien que, j'ai pris votre conseil et ajusté et que les choses ont l'air mieux dans ce dossier maintenant, finalement, cela n'a pas résolu le problème. Merci de votre aide.
@ 出羽 和 之 ne pense pas non plus avoir besoin de la dépendance de l'éclipse, donc j'ai également supprimé cela. Merci de votre aide.
@NewDeveloper JParepository s'étend du crudepostory (il y en a un autre entre eux; PangetandSortingRepository), donc JPeePository a des méthodes supplémentaires. Vous pouvez vérifier leur définition et voir leurs méthodes. Mais la chose est que le jParepository n'est pas automatiquement activé par défaut, vous devez ajouter explicitement, c'est pourquoi je vous ai demandé d'ajouter @enableJPeePositories ("com.pc.visitor") ou de le modifier à CruRepository
En fin de compte, la solution ici était que je n'avais pas d'annotation @ID avec une variable de type longue spécifiée dans le fichier "NewVisitor.java".
@stekin, cela a du sens pour la plupart. Je vais devoir regarder dans ce qui a le plus de sens. Merci.