在Intellij IDEA中使用lombok插件进行综合项目开发

﹏ヽ暗。殇╰゛Y 2021-09-28 04:36 354阅读 0赞

为什么要使用lombok?

  1. **应用场景:**在JavaEE项目中经常使用beanentity等类,绝大部分数据类中都需要生成get /set 方法、重载toString equalshashCode方法。
  2. **使用优点:**
  3. 1.虽然在IDEA开发环境下都有自动生成这些代码的快捷方式,但自动生成这些代码后,如果bean中的属性一旦有修改、删除或增加时,需要重新生成或删除get /set等方法,给代码维护增加负担。
  4. 2.即使需要在这些方法中需要做额外的操作,只需要在对应类中手动重写即可。

未使用lombok之前,我们如何做的?

在类中alt+enter,然后选择需要的方法。

如下:

  1. public class Student {
  2. private String name;
  3. private String studentId;
  4. public String getName() {
  5. return name;
  6. }
  7. public void setName(String name) {
  8. this.name = name;
  9. }
  10. public String getStudentId() {
  11. return studentId;
  12. }
  13. public void setStudentId(String studentId) {
  14. this.studentId = studentId;
  15. }
  16. @Override
  17. public String toString() {
  18. return "Student{" +
  19. "name='" + name + '\'' +
  20. ", studentId='" + studentId + '\'' +
  21. '}';
  22. }
  23. }

如何使用lombok?

一 在idea中安装lombok插件

  1. 1.依次点击Preferences - Plugins,搜索lombok,最后点击Lombok Plugin (对,就下载最多的那个)intall
  2. 2.重启idea即可使用

![Image 1][]

image

二 在项目对于的xml文件中添加maven依赖

  1. <!--lombok-->
  2. <dependency>
  3. <groupId>org.projectlombok</groupId>
  4. <artifactId>lombok</artifactId>
  5. </dependency>

三 示例代码及说明

  1. /**
  2. * 如果没有添加@Setter注解,则无法使用setAge()等方法。
  3. * 使用lombok之后,省去了许多没必要的get,set,toString,equals,hashCode代码,
  4. 简化了代码。
  5. * 注:@Data注解的作用相当于 @Getter @Setter @RequiredArgsConstructor
  6. @ToString @EqualsAndHashCode的合集。
  7. * 注:@Log 省去了在LombokTest中添加 getLogger的如下代码: * private static final java.util.logging.Logger log =
  8. java.util.logging.Logger.getLogger(LogExample.class.getName()); */
  9. @Setter
  10. @Getter
  11. @ToString
  12. @EqualsAndHashCode //@Data
  13. public class Student {
  14. private String name;
  15. private int age;
  16. private String male;
  17. private String studentNo;
  18. }

四 测试程序

  1. @Log
  2. public class LombockTest {
  3. public static void main(String[] args) {
  4. //创建第一个学生对象
  5. Student student = new Student();
  6. student.setAge(19);
  7. student.setMale("male");
  8. student.setName("Spring Boot");
  9. student.setStudentNo("2017");
  10. System.out.println(student.toString());
  11. //创建第二个学生对象
  12. Student student2 = new Student();
  13. student2.setAge(19);
  14. student2.setMale("male");
  15. student2.setName("Spring Boot");
  16. student2.setStudentNo("2017");
  17. //判断两个对象的引用是否相等
  18. System.out.println(student.equals(student2));
  19. student2.setStudentNo("2018");
  20. System.out.println(student.equals(student2));
  21. log.info("lombok test"); }
  22. }

五 运行结果

  1. Student(name=SPring Bootage=19male=malestudentNo=2017)
  2. true
  3. false

ps:在使用了lombok之后,又重写了该方法,会覆盖此方法,代码就不贴了,亲测有效。

作者:tigerAndBull
链接:https://www.jianshu.com/p/39de2a8e4ae5
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

[Image 1]:

发表评论

表情:
评论列表 (有 0 条评论,354人围观)

还没有评论,来说两句吧...

相关阅读

    相关 IntelliJ IDEA lombok

    IntelliJ IDEA是一款非常优秀的集成开发工具,功能强大,而且插件众多。lombok是开源的代码生成库,是一款非常实用的小工具,我们在编辑实体类时可以通过lombok注