Qu'est-ce que Lombok? Il s'agit d'une méthode qui peut nous aider à éliminer ces code qui doivent être écrits mais répétés, tels que les setters, les getters, les constructeurs, etc.
Tout d'abord, parlons brièvement de l'installation de Lombok pour l'idée. Il y a deux façons de:
1. Téléchargez-le directement à partir de http://plugins.jetbrains.com/, puis mettez-le dans les plugins sous le fichier d'installation de l'idée, puis redémarrez l'idée
2. Sous les paramètres (Windows) ou les préférences (Mac) de l'idée, trouvez le menu des plugins et cliquez sur les référentiels de navigation comme indiqué sur la figure
Recherchez ensuite Lombok, cliquez sur la droite pour télécharger, télécharger et redémarrer comme indiqué dans l'image
Créez un nouveau projet, ajoutez des dépendances Lombok au fichier POM et le POM complet est le suivant:
<? xml version = "1.0" Encoding = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" XSI: ScheMalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelversion> 4.0.0 </démavelSion> <ProupId> com.dalaang </prandId> <ArtefactId> Springboot_lombok </ artifactive> <in version> 0.0.1-snapshot </ version> <packaging> jar </packaging> <name> Springboot_lombok </name> <escrit> Springboot_lombok </cription> <parent> <proupId> org.springframework.boot </preppled> <ArtefactId> Spring-Boot-Starter-Parent </ ArfactId> <Dersion> 1.5.9.Release </ Version> <RelativePath /> <! - Recherche Parent du référentiel -> </parent> </ Properties> <projeil.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reporting.outputencoding> utf-8 </project.reportting.outputencoding> <java.version> 1.8 </java.version> </properties> <dependces> <dependency> <proupId> org.springframework.boot </proupId> <ArtifActid> Spring-boot-starter-starter-web </ arrifact> <dependency> <proupId> org.springframework.boot </proupId> <ArtifActid> printemps-boot-devtools </ artifactid> <ccope> runtime </cope> </pedidency> <Dedency> <proupId> org.springframework.boot </proupId> <ArtifActid> printemps-boot-starter-Tesst-Test </ artifact> <ccope> test </cope> </dependency> <dependency> <proupId> org.projectlombok </proupId> <Artifactid> Lombok </Retifactid> <Dersion> 1.16.20 </ version> </Dedency> </Detences> <uild> <fracins> </groupId> <proupId> Org.SpringFrameworkwork. <ArtefactId> Spring-Boot-Maven-Plugin </ ArfactId> </Glugin> </Glugins> </Duild> </randing>
Créez une nouvelle classe d'utilisateurs, il s'agit d'une classe qui utilise Lombok, le code est le suivant:
Package com.dalaoyang.entity; importage Lombok.AllargStructoror; Importer Lombok.Data; Importer Lombok.NoargStructor; / ** * @Author Dalaoyang * @description * @project springboot_learn * @package com.dalaoyang * @email [email protected] * @date 2018/5/7. * / @ Data @ allargsconstructor @ noargsconstructorpublic class utilisateur {id entier privé; nom de chaîne privé; Mot de passe de chaîne privé;}
Créez une nouvelle classe Usernolombok, la même qu'auparavant, afin de comparer les avantages de l'utilisation de Lombok, le code est le suivant:
Package com.dalaoyang.entity; Importer java.util.objects; / ** * @author dalaoyang * @description * @project springboot_learn * @package com.dalaoyang.entity * @email [email protected] * @date 2018/5/7 * / Classe publique UsernoloLobok {Priving Ind; nom de chaîne privé; mot de passe de chaîne privé; public Integer getID () {return id; } public void setid (INGER ID) {this.id = id; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public String getPassword () {return mot de passe; } public void setPassword (String Motword) {this.password = mot de passe; } public usernolombok (ID entier, nom de chaîne, mot de passe de chaîne) {this.id = id; this.name = name; this.password = mot de passe; } public usernolombok () {} @Override public boolean equals (objet o) {if (this == o) return true; if (o == null || getClass ()! = o.getClass ()) return false; Usernolombok that = (usernolombok) o; return object.equals (id, that.id) && objets.equals (name, that.name) && objets.equals (mot de passe, that.password); } @Override public int hashcode () {return objets.hash (id, nom, mot de passe); } @Override public String toString () {return "usernolombok {" + "id =" + id + ", name = '" + name +' / '' + ", mot de passe = '" + mot de passe +' / '' + '}'; }}
Créez ensuite un nouveau test UserController, le code est le suivant:
package com.dalaoyang.controller; import com.dalaoyang.entity.user; import org.springframework.web.bind.annotation.getMapping; import org.springframework.web.bind.annotation.restController; / ** * @Author Dalaoyang * @Description * @project com.dalaoyang.controller * @email [email protected] * @date 2018/5/7 * / @ restControllerPublic class userController {@getMapping ("/ testUser") public user GetUser () {user user = new user (); user.setid (1); user.setName ("dalaoyang"); user.setpassword ("123"); System.out.println (user.toString ()); RETOUR UTILISATEUR; }}
Visitez http: // localhost: 8080 / testUser comme indiqué sur la figure
Lombok Annotation Introduction:
@Data tag, générer Getter / Setter toString () et autres méthodes
@Nonnull: vous ne vous inquiétez pas et ne tombez pas amoureux de NullPointerException
@Cleanup: Gestion automatique des ressources: il n'est plus besoin d'ajouter des ressources enfin
@ Seter / @ getter: générer automatiquement des méthodes d'ensemble et d'obtention
@ToString: générer automatiquement la méthode de toString
@Equalsandhashcode: générer des implémentations de HashCode et équivaut à des champs d'un objet
@ Noargsconstructor / @ requiredargsstructor / @ allargsconstructor
Générer automatiquement la méthode de construction
@Data: générer automatiquement la méthode set / get, méthode toString, égal à la méthode, méthode hashcode, méthode du constructeur sans paramètres
@Value: utilisé pour annoter les cours finaux
@Builder: générer des classes API complexes Builder
@Sneakythrows: manipulation des exceptions (utilisation avec prudence)
@Synchronized: Conversion de sécurité de la méthode synchronisée
@Getter (Lazy = true):
@Log: prend en charge divers objets logique et utilisez des annotations correspondantes lorsque vous les utilisez, telles que: @ log4j
Téléchargement du code source: Big Lao Yang Mayun
Adresse de téléchargement du code source local: Springboot Lombok_JB51.rar
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.