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依赖:         

 

 
  1. <dependency>

  2. <groupId>org.projectlombok</groupId>

  3. <artifactId>lombok</artifactId>

  4. <version>1.16.10</version>

  5. </dependency>

 

 

    3. 示例代码Student.java

 

 
  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

 

 
  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. 输出结果:   

 
  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());

看,简单吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值