O que é LOMOBOK? É um método que pode nos ajudar a eliminar os código que devem ser escritos, mas repetidos, como setters, getters, construtores etc.
Primeiro, vamos falar brevemente sobre a instalação do Lombok para uma idéia. Existem duas maneiras de:
1. Faça o download diretamente de http://plugins.jetbrains.com/ e coloque -o nos plugins abaixo do arquivo de instalação do Idea e reinicie a ideia
2. Sob as configurações (Windows) ou Preferências (Mac) da Idea, encontre o menu Plugins e clique em Repositórios de Procurar, conforme mostrado na figura
Em seguida, procure Lombok, clique no direito de baixar, baixar e reiniciar como mostrado na foto
Crie um novo projeto, adicione dependências LOMOMPO ao arquivo POM e o POM completo é o seguinte:
<? xml versão = "1.0" coding = "utf-8"?> <Projeto xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.ww3.org/2001/xmlschaMance xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVesion> 4.0.0 </modelVersion> <proupid> com.daliding <rUerpalang> 4.0.0 </modelversion> <proupid> com.dalid <rumerang> 4.0.1 <TrAtifactId> springboot_lombok </starifactId> <versão> 0.0.1-snapshot </version> <bacaging> jar </acheging> <name> springboot_lombok </name> <crection> springboot_lombok </cription> <roust> <puriid> org.springfameswork.Boot_lombok </ground> </grupo> <voundid> org.springFame.Boot </Groupid> <TRAFACTID> Spring-Boot-Starter-Parent </stardifactId> <versão> 1.5.9.Release </siers> <RelityPath/> <!-Lookup Parent do Repositório-> </a Parent> </projecties> <projeto.build.sourcencoding> utf-8 </projecties> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.20</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <TarifactId> Spring-boot-maven-plugin </stifactId> </flugin> </plugins> </fruct> </project>
Crie uma nova classe de usuário, esta é uma classe que usa Lombok, o código é o seguinte:
pacote com.dalaoyang.entity; importar lombok.allargsconstructor; importar lombok.data; importar lombok.noargsconstructor;/** * @author dalaoyang * @description * @project springboot_learn * @package com.dalaoyang * @Mail */@Data@alargsconstructor@noargsconstructorpublic class Usuário {ID inteiro privado; nome de string privado; senha de sequência privada;}Crie uma nova classe Usernolombok, a mesma de antes, a fim de comparar os benefícios de usar o LOMOMBOK, o código é o seguinte:
pacote com.dalaoyang.entity; importar java.util.Objects;/** * @author dalaoyang * @Description * @Project springboot_learn * @package com.dalaoyang.entity * @email [email protected] * @date 2018/5/7 * nome de string privado; senha de sequência privada; public integer getId () {return id; } public void SetId (ID inteiro) {this.id = id; } public string getName () {return name; } public void setName (nome da string) {this.name = name; } public string getPassword () {return senha; } public void setPassword (string senha) {this.password = senha; } public usernolombok (ID inteiro, nome da string, senha da string) {this.id = id; this.name = nome; this.password = senha; } public usernolomBok () {} @Override public boolean Equals (objeto o) {if (this == O) retorna true; if (o == null || getClass ()! = O.getclass ()) retorna false; UsernolOMombok que = (UsernolomBok) o; retornar objetos.equals (id, that.id) && Objects.Equals (nome, that.name) && Objects.equals (senha, that.password); } @Override public int hashCode () {return Objects.hash (id, nome, senha); } @Override public string tostring () {return "usernolombok {" + "id =" + id + ", name = '" + name +'/'' + ", senha = '" + senha +'/'' + '}'; }}
Em seguida, crie um novo teste UserController, o código é o seguinte:
pacote com.dalaoyang.controller; importar com.dalaoyang.entity.user; importar org.springframework.web.bind.annotation.getMapping; importar org.springframework.web.bind.annotation.restController;/** * @AthorThor Dalayp.bind.annotation.Restroller; com.dalaoyang.controller * @email [email protected] * @date 2018/5/7 */ @RestControllerPublic Classe userController {@getMapping ("/testUser") public user getUser () {user = user (); user.setId (1); user.setName ("dalaoyang"); user.setPassword ("123"); System.out.println (user.toString ()); devolver usuário; }}
Visite http: // localhost: 8080/testUser, como mostrado na figura
Introdução à anotação de Lombok:
@Data tag, gerar getter/setter tostring () e outros métodos
@Nonnull: Faça você não se preocupar e se apaixonar por NullPointerException
@Cleanup: gerenciamento automático de recursos: não precisa mais adicionar recursos em finalmente
@Setter/@getter: gerar automaticamente o conjunto e obter métodos
@ToString: gerar automaticamente o método de tostragem
@EqualSandHashCode: Gere implementações do HashCode e é igual a partir de campos de um objeto
@Noargsconstructor/@requerirargsconstructor/@alargsconstructor
Gerar automaticamente o método de construção
@Data: gerar automaticamente o método Set/Get
@Value: usado para anotar as classes finais
@Builder: gerar classes de API do Builder Complex
@Sneakythrows: manuseio de exceções (use com cautela)
@Synchronized: Método sincronizado Conversão segura
@Getter (preguiçoso = true):
@Log: suporta vários objetos de logger e use anotações correspondentes ao usá -los, como: @log4j
Download do código -fonte: Big Lao Yang Mayun
Endereço para download do código-fonte local: Springboot-LOMOK_JB51.RAR
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.