¿Qué es Lombok? Es un método que puede ayudarnos a eliminar aquellos código que deben escribirse pero repetidos, como setters, getters, constructores, etc.
Primero, hablemos brevemente sobre la instalación de Lombok para su idea. Hay dos formas de:
1. Deséfrelo directamente desde http://plugins.jetbrains.com/, luego póngalo en los complementos debajo del archivo de instalación de la idea y luego reinicie la idea
2. En la configuración (Windows) o preferencias (Mac) de idea, busque el menú de complementos y haga clic en Examinar repositorios como se muestra en la figura
Luego busque Lombok, haga clic a la derecha para descargar, descargar y reiniciar como se muestra en la imagen
Cree un nuevo proyecto, agregue dependencias de Lombok al archivo POM, y el POM completo es el siguiente:
<? xml versión = "1.0" encoding = "utf-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschemainstance" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <ModelVersion> 4.0.0 </modelversion> <MoupRoMid> Com.dalaoyang </200Ed> <AtifactId> SpringBoot_lombok </arfactid> <versión> 0.0.1-snapshot </versewer> <cackaging> jar </apackaging> <name> springboot_lombok </name> <scription> springboot_lombok </description> <entrip) <artifactid> spring-boot-starter-parent </artifactid> <versión> 1.5.9.release </ververy> <relativePath/> <!-Buscar padres desde repositorio-> </rent> <properses> <proyect.build.sourceEncoding> utf-8 </project.build.sourceodinging <Project.Reporting.outputencoding> UTF-8 </project.rePorting.outputEncoding> <java.version> 1.8 </Java.version> </propieties> <pendencies> <pendency> <proupid> org.springFrame.Boot </groupId> <Atifactid> Spring-Boot-sharterweb </artid-wheb </artiMid> <Spendency> <ProupId> org.springframework.boot </proupid> <artifactid> Spring-Boot-DevTools </arfactid> <cope> Runtime </encope> </pendency> <Spendency> <ProupId> org.springFrame.Boot </groupId> <Atifactid> Spring-Boot-Starter-Test </Artifact> <cope> test </scope> </pendency> <epardency> <grupid> org.projectlombok </proupid> <artifactid> lombok </artifactid> <verserse> 1.16.20 </verversion> </pendency> </dependencias> <glugins> <glugin> <grupid> org.springframework.boot </groupid> <artifactID> spring-boot-saven-plugin </artifactid> </glugin> </glugins> </build> </proyecto>
Cree una nueva clase de usuario, esta es una clase que usa Lombok, el código es el siguiente:
paquete com.dalaoyang.entity; import lombok.alLargSconstructor; import lombok.data; import lombok.noargsconstructor;/** * @author dalaoyang * @description * @project springboot_learn * @package com.dalaoy * @email [email protected] * @Date 2018 */@Data@AllargSconstructor@noargSconstructorPublic Class User {ID de Integer Private; nombre de cadena privada; contraseña de cadena privada;}
Cree una nueva clase de UserNolombok, lo mismo que antes, para comparar los beneficios de usar Lombok, el código es el siguiente:
paquete com.dalaoyang.entity; import java.util.objects;/** * @author dalaoyang * @description * @project springboot_learn * @package com.dalayang.entity * @email [email protected] * @Date 2018/5/7 */public class Usernolombok {private interoger Id; nombre de cadena privada; contraseña de cadena privada; public Integer getId () {return id; } public void setid (ID de entero) {this.id = id; } public String getName () {nombre de retorno; } public void setName (nombre de cadena) {this.name = name; } public String getPassword () {return Password; } public void setPassword (String Password) {this.password = contraseña; } public UserNolombok (ID de entero, nombre de cadena, contraseña de cadena) {this.id = id; this.name = name; this.password = contraseña; } public usernolombok () {} @Override public boolean iguales (objeto o) {if (this == o) return true; if (o == null || getClass ()! = o.getClass ()) return false; Usernolombok that = (usernolombok) o; return Objects.equals (id, that.id) && objects.equals (name, that.name) && objects.equals (contraseña, that.password); } @Override public int hashcode () {return Objects.hash (id, nombre, contraseña); } @Override public string toString () {return "usernolombok {" + "id =" + id + ", name = '" + name +'/'' + ", contraseña = '" + contraseña +'/'' + '}'; }}
Luego cree una nueva prueba de UserController, el código es el siguiente:
paquete com.dalaoyang.controller; import com.dalaoyang.entity.user; import org.springframework.web.bind.annotation.getMapping; importar org.springframework.web.bind.annotation.restcontroller;/** * @author dalaoyeng * @description * @Description * @Description * com.dalaoyang.controller * @email [email protected] * @date 2018/5/7 */ @RestControllerPublic UserController {@getmapping ("/testUser") Usuario público getUser () {usuario de usuario = nuevo usuario (); user.setID (1); user.setName ("dalaoyang"); user.setPassword ("123"); System.out.println (user.toString ()); devolver el usuario; }}
Visite http: // localhost: 8080/testuser como se muestra en la figura
Introducción a la anotación de Lombok:
@Data etiqueta, generar getter/setter toString () y otros métodos
@Nonnull: no te preocupes y te enamores de NullpointerException
@Cleanup: Gestión automática de recursos: ya no es necesario agregar recursos en finalmente
@Setter/@getter: generar automáticamente establecer y obtener métodos
@ToString: Generar automáticamente el método de toString
@EqualsAndHashCode: Genere implementaciones de hashcode y es igual a los campos de un objeto
@Noargsconstructor/@requiredArgSconstructor/@AllargSconstructor
Generar automáticamente el método de construcción
@Data: Genere automáticamente el método SET/GET, ToString Method, Equals Method, HashCode Method, Constructor Method sin parámetros
@Value: Solía anotar las clases finales
@Builder: Generar clases de API de complejo constructor
@Sneakythrows: manejo de excepciones (use con precaución)
@SynChronized: Conversión segura del método sincronizado
@Getter (lazy = true):
@Log: admite varios objetos de registrador y usa las anotaciones correspondientes cuando los use, como: @log4j
Descarga del código fuente: Big Lao Yang Mayun
Dirección de descarga del código fuente local: springboot-lombok_jb51.rar
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.