zoukankan      html  css  js  c++  java
  • Intellij IDEA 安装lombok及使用详解

     项目中经常使用bean,entity等类,绝大部分数据类类中都需要get、set、toString、equals和hashCode方法,虽然eclipse和idea开发环境下都有自动生成的快捷方式,但自动生成这些代码后,如果bean中的属性一旦有修改、删除或增加时,需要重新生成或删除get/set等方法,给代码维护增加负担。而使用了lombok则不一样,使用了lombok的注解(@Setter,@Getter,@ToString,@@RequiredArgsConstructor,@EqualsAndHashCode或@Data)之后,就不需要编写或生成get/set等方法,很大程度上减少了代码量,而且减少了代码维护的负担。故强烈建议项目中使用lombok,去掉bean中get、set、toString、equals和hashCode等方法的代码。

     一、实战

       1.安装lombok插件:

          具体流程如图:

          1.1

                                             

           1.2

             

           1.3

              

        2.添加lombok的maven的pom.xml依赖:         

    [java] view plain copy
     
    1. <dependency>  
    2.           <groupId>org.projectlombok</groupId>  
    3.           <artifactId>lombok</artifactId>  
    4.           <version>1.16.10</version>  
    5. </dependency>  

        3. 示例代码Student.java

    [java] view plain copy
     
    1. package com.lombok.demo;  
    2.   
    3.   
    4. import lombok.EqualsAndHashCode;  
    5. import lombok.Getter;  
    6. import lombok.Setter;  
    7. import lombok.ToString;  
    8.   
    9. /** 
    10.  * Created by zhangzh on 2017/2/8. 
    11.  */  
    12. @Setter  
    13. @Getter  
    14. @ToString  
    15. @EqualsAndHashCode  
    16. public class Student {  
    17.   
    18.     private String name;  
    19.     private int age;  
    20.     private String male;  
    21.     private String studentNo;  
    22. }  

         4. 测试类LombokTest.java

    [java] view plain copy
     
    1. package com.lombok.demo;  
    2.   
    3. import lombok.extern.java.Log;  
    4.   
    5. /** 
    6.  * Created by zhangzh on 2017/2/8. 
    7.  */  
    8. @Log  
    9. public class LombokTest {  
    10.   
    11.     public static void main(String[] args) {  
    12.   
    13.         Student student = new Student();  
    14.         student.setAge(27);  
    15.         student.setMale("man");  
    16.         student.setName("lance");  
    17.         student.setStudentNo("2017");  
    18.   
    19.         System.out.println(student.toString());  
    20.   
    21.         Student student2 = new Student();  
    22.         student2.setAge(27);  
    23.         student2.setMale("man");  
    24.         student2.setName("lance");  
    25.         student2.setStudentNo("2017");  
    26.   
    27.         System.out.println(student.equals(student2));  
    28.   
    29.         student2.setStudentNo("2018");  
    30.   
    31.         System.out.println(student.equals(student2));  
    32.   
    33.         log.info("lombok test");  
    34.   
    35.     }  
    36. }  

        5. 输出结果:   

    [java] view plain copy
     
    1. Student(name=lance, age=27, male=man, studentNo=2017)  
    2. true  
    3. false  
    4. lombok test  
     
     
    结果分析,如果没有添加@Setter注解,则LombokTest中的student示例无法使用setAge()等方法。使用lombok之后,省去了许多没必要的get,set,toString,equals,hashCode代码,简化了代码编写,减少了代码量。
          另外@Data注解的作用相当于 @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode的合集。
          另外@Log 省去了在LombokTest中添加 getLogger的如下代码: 


    private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName());

    看,简单吧!
  • 相关阅读:
    图像检索(image retrieval)- 11
    图像检索(image retrieval)- 10相关
    Mock.js简易教程,脱离后端独立开发,实现增删改查功能
    Azure Monitor (3) 对虚拟机磁盘设置自定义监控
    Azure Monitor (1) 概述
    Azure SQL Managed Instance (2) 备份SQL MI
    Azure Virtual Network (17) Private Link演示
    Azure Virtual Network (16) Private Link
    Azure Virtual Network (15) Service Endpoint演示
    Azure Virtual Network (14) Service Endpoint服务终结点
  • 原文地址:https://www.cnblogs.com/linjiaxin/p/8340043.html
Copyright © 2011-2022 走看看