Este artigo apresenta a bênção do elegante LOMOMENT LOMOMBON do Springboot e o compartilha com você, como segue:
Visão geral
O Lombok ajuda a simplificar a eliminação de algum código Java que deve ter, mas parece inchado, fornecendo anotações simples de sintaxe. Normalmente, a simplificação de objetos POJO (como geração automaticamente de setters e getters para nós etc.), com o apoio da LOMOBOK, os desenvolvedores podem evitar muitas operações repetitivas e inchadas, melhorando bastante a proporção de sinal / ruído do código Java, portanto, devemos tentar aplicá-lo!
Configuração na ideia Intellij
Método 1: Configurar diretamente na interface da ideia
Primeiro insira a interface dos plugins:
Em seguida, pesquise e instale o plugin LOMOTK:
Por fim, não se esqueça de ativar a opção Ativar processadores de anotação:
Após a conclusão da instalação acima, a idéia precisa ser reiniciada para entrar em vigor!
Método 2: Faça o download manualmente da instalação do plug-in Lombok
Às vezes, devido a razões de rede, o método acima não instala, para que você possa baixá -lo e instalá -lo manualmente.
Faça o download do plugin Lombok:
https://github.com/mplushnikov/lombok-intellij-plugin/releases
Plugins -> Instale o plugin do disco ... selecione a instalação do pacote zip baixado
Apenas reinicie a ideia
Depois que as configurações no IDE são concluídas, você precisa adicionar a seguinte dependência de Lombok em pom.xml para usá -lo
<Depencency> <PuerpId> org.projectlombok </groupiD> <TRAFACTID> LOMOMBOK </STIFACTID> <Versão> 1.16.16 </sipers> </dependency>
Notas principais LOMOMPOK
@Getter and @Setter / automaticamente fornecem e obter métodos para propriedades@ToString / A função desta anotação é gerar automaticamente o método ToString () para a classe@EqualsAndHashCode / automaticamente gera hashcode e é igual a implementações para campos de objeto@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor / Como o nome implica, gera automaticamente construtores com parâmetros correspondentes para a classe@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog / adicionar suporte de log correspondente à classe@Data / Adicione automaticamente @ToString, @EqualSandHashCode, @Getter, Adicionar @Setter e @ReQuiredargSconstructor a campos não finais, o que é essencialmente equivalente ao efeito abrangente de várias anotações.@NonNull / automaticamente nos ajuda a evitar indicadores nulos. Anotações que atuam nos parâmetros de método são usadas para gerar automaticamente verificações de parâmetros nulos@Cleanup / ligue automaticamente no método Close () para nós. Atua em variáveis locais. Quando o escopo terminar, o método de fechamento será chamado automaticamente para liberar recursos. Aqui está uma batalha prática de código com as anotações @Data e @Log que são usadas com mais frequência no LOMOMPOK!
@Data Anotation Use
A explicação do site oficial sobre a anotação @Data é a seguinte:
Tudo juntos agora: um atalho para @toString, @equalsandhashcode, @getter em todos os campos, @setter em todos os campos não finais e @ReQuiredArgSconstructor!
Não é difícil de entender, pode ser considerado como uma integração de várias anotações LOMOMPOK, por isso é muito conveniente usar!
Primeiro, crie uma entidade Pojo UserLombok. O método de escrita geral é o seguinte:
classe pública userlombok {private final string nome; private Int Age; Pontuação dupla privada; Tags privadas string []; public userlombok (nome da string) {this.name = name; } public string getName () {return this.name; } void setage (int Age) {this.age = Age; } public int getage () {return this.age; } public void setScore (pontuação dupla) {this.score = score; } public duplo getScore () {return this.score; } public string [] getTags () {return this.tags; } public void Settags (string [] tags) {this.tags = tags; } @Override public String tostring () {return "dataExample (" + this.getName () + "," + this.getage () + "," + this.getScore () + "," + Arrays.deeptoString (this.gettags ()) + ")"; } protegido BOOLEAN CANECAL (objeto outro) {retorna outra instância do dataExample; } @Override public boolean é igual (objeto o) {if (o == this) retorna true; if (! (o instanceof dataExample)) retorna false; DataExample OUTRO = (DataExample) O; if (! O.canequal (((objeto) this)) retorna false; if (this.getName () == null? Other.getName ()! = null :! this.getName (). igual a (outros.getName ())) retorna false; if (this.getage ()! = Other.getage ()) retorna false; if (double.comPare (this.getScore (), outros.getScore ()))! = 0) retorna false; if (! Arrays.DeePequals (this.gettags (), outros.gettags ())) retorna false; retornar true; } @Override public int hashCode () {final int prime = 59; int resultado = 1; final de tempo final = duplo.doubleTolongbits (this.getScore ()); resultado = (resultado*prime) + (this.getName () == null? 43: this.getName (). hashCode ()); resultado = (resultado*prime) + this.getage (); resultado = (resultado*prime) + (int) (temp1 ^ (temp1 >>> 32)); resultado = (resultado*prime) + arrays.deephashcode (this.gettags ()); resultado de retorno; }}Após a bênção de Lombok, o método de escrita pode ser simplificado para:
@Datapublic Classe Userlombok {Nome da String final privada; private Int Age; Pontuação dupla privada; Tags de String Private [];}Quando usado na idéia, as anotações do Lombok serão concluídas automaticamente, conforme mostrado na figura a seguir:
Vamos escrever o código de teste Pojo
public static void main (string [] args) {userlombok userlombok = new userlombok ("hansonwang99"); userlombok.setage (18); String [] Array = new String [] {"Apple", "Juice"}; userlombok.setTags (Array); userlombok.setscore (99.0); System.out.println (userlombok); }A partir da figura abaixo, podemos ver que a ideia ainda pode concluir automaticamente o código gerado automaticamente pelo LOMOMPOK para nós:
Resultados Imprima
Como o Lombok gera automaticamente o método de tostragem para nós, o resultado da impressão do objeto é o seguinte:
Userlombok (nome = hansonwang99, idade = 18, pontuação = 99,0, tags = [maçã, suco])
@Log Anotation Practice
No meu artigo Prática da estrutura de log de log de inicialização da primavera, usamos o log4j2 como um objeto de log, que é escrito da seguinte maneira:
@RestController@requestmapping ("/testLogging") public class LoggingTestController {private final Logger Logger = logManager.getLogger (this.getClass ()); @GetMapping ("/hello") public string hello () {for (int i = 0; i <10_0000; i ++) {logger.info ("Info Execute Index Method"); Logger.warn ("Método do índice de execução de aviso"); Logger.error ("Método do índice de execução de erro"); } retornar "meu primeiro aplicativo de trampolim"; }}Se você usa o LOMOMBOK, o método de escrita se tornará mais conciso. Precisamos apenas introduzir a anotação @log correspondente para concluir a geração do objeto de log:
@RestController@requestmapping ("/testLoggingwithlombok")@log4j2public class LoggingTestControllerLombok {@getMapping ("/hello log.warn ("Método de índice de execução de aviso"); log.error ("Método de execução de erro"); } retornar "meu primeiro aplicativo de trampolim"; }}Que tal isso, tudo é tão elegante!
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.