Intellij IDEA安装lombok插件及使用详解

 更新时间:2018年12月07日 11:45:24   作者:zhglance  
今天小编就为大家分享一篇关于Intellij IDEA安装lombok插件及使用详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

项目中经常使用beanentity等类,绝大部分数据类类中都需要getsettoStringequalshashCode方法,虽然eclipseidea开发环境下都有自动生成的快捷方式,但自动生成这些代码后,如果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依赖:   

<dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.16.10</version>
</dependency>

3. 示例代码Student.java

package com.lombok.demo;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
 **/
@Setter
@Getter
@ToString
@EqualsAndHashCode
public class Student {
  private String name;
  private int age;
  private String male;
  private String studentNo;
}

4. 测试类LombokTest.java

package com.lombok.demo;
import lombok.extern.java.Log;
@Log
public class LombokTest {
  public static void main(String[] args) {
    Student student = new Student();
    student.setAge(27);
    student.setMale("man");
    student.setName("lance");
    student.setStudentNo("2017");
    System.out.println(student.toString());
    Student student2 = new Student();
    student2.setAge(27);
    student2.setMale("man");
    student2.setName("lance");
    student2.setStudentNo("2017");
    System.out.println(student.equals(student2));
    student2.setStudentNo("2018");
    System.out.println(student.equals(student2));
    log.info("lombok test");
  }
}

5. 输出结果:

Student(name=lance, age=27, male=man, studentNo=2017)
true
false
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());

看,简单吧!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • Java中对象都是分配在堆上吗?你错了!

    Java中对象都是分配在堆上吗?你错了!

    这篇文章主要介绍了Java中对象都是分配在堆上吗?你错了!文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • Java ExecutorService四种线程池使用详解

    Java ExecutorService四种线程池使用详解

    这篇文章主要介绍了Java ExecutorService四种线程池使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Java中Comparable接口和Comparator接口的使用比较

    Java中Comparable接口和Comparator接口的使用比较

    Java中提供了两种对集合或数组中元素进行排序的方法,一种是实现Comparable接口,另一种是实现Comparator接口,下面这篇文章主要给大家介绍了关于Java中Comparable接口和Comparator接口使用的相关资料,需要的朋友可以参考下
    2024-06-06
  • Java动态规划之编辑距离问题示例代码

    Java动态规划之编辑距离问题示例代码

    这篇文章主要介绍了Java动态规划之编辑距离问题示例代码,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • SpringMVC RESTFul实战案例删除功能实现

    SpringMVC RESTFul实战案例删除功能实现

    这篇文章主要为大家介绍了SpringMVC RESTFul实战案例删除功能实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 浅谈Java三大框架与应用

    浅谈Java三大框架与应用

    这篇文章主要介绍了浅谈Java三大框架与应用,需要的朋友可以参考下
    2015-05-05
  • Java使用强大的Elastisearch搜索引擎实例代码

    Java使用强大的Elastisearch搜索引擎实例代码

    本篇文章主要介绍了Java使用强大的Elastisearch搜索引擎实例代码,具有一定的参考价值,有兴趣的可以了解一下
    2017-05-05
  • 详解如何在Spring MVC中处理AJAX请求

    详解如何在Spring MVC中处理AJAX请求

    在现代 web 开发中,AJAX(Asynchronous JavaScript and XML)被广泛用于创建响应式和动态的用户界面,与传统的页面刷新不同,AJAX 允许网页在不重新加载的情况下与服务器交换数据,从而提升了用户体验,本篇博客将深入探讨如何在 Spring MVC 中处理 AJAX 请求
    2024-11-11
  • java 中链表的定义与使用方法

    java 中链表的定义与使用方法

    这篇文章主要介绍了java 中链表的定义与使用方法的相关资料,需要的朋友可以参考下
    2017-03-03
  • form-data与x-www-form-urlencoded的区别以及知识延伸

    form-data与x-www-form-urlencoded的区别以及知识延伸

    这篇文章主要给大家介绍了关于form-data与x-www-form-urlencoded的区别以及知识延伸,form-data和x-www-form-urlencoded都是HTTP请求中用于传输表单数据的编码格式,需要的朋友可以参考下
    2023-11-11

最新评论