分享Java开发的利器-Lombok

译注:Lombok是一个很老的项目了,也非常实用,但奇怪的是这么多年来似乎一直不温不火。很多Lombok特性可以参考它的官网介绍哈。兄弟连www.lampbrother.net在这里只是简单介绍一下它的基础功能。

Lombok是一个旨在减少代码开发工作的Java库。本文介绍了如何用它来完成getter/setter方法,构造方法,以及重写equals(),hashCode()和toString()方法。在Java中,一个很简单的类却往往写得特别复杂。如果你没听说过Lombok的话,那它肯定会让你满意的。

Lombok可以帮助Java开发人员完成以下这些事情:

不用再写setter/getter方法了

不用Lombok的话,我们通常都得这么写:

public class Animal {

private String name;

private String gender;

private String species;

public String getName(){

return this.name;

}

public void setName(String name){

this.name = name;

}

public String getGender(){

return this.gender;

}

public void setGender(String gender){

this.gender = gender;

}

public String getSpecies(){

return this.species;

}

public void setSpecies(String species){

this.species = species;

}

}

这些方法写多了之后,我慢慢开始有点讨厌Java了。

有了Lombok之后:

public class Animal {

@Getter @Setter private String name;

@Getter @Setter private String gender;

@Getter @Setter private String species;

}

日子开始变得滋润多了。 下面还有Lombok其它的一些很棒的特性。

不用再重写toString方法。 可以给类加上@ToString注解,Lombok会自动重写toString方法并打印出类的所有字段。

不用再重写equals和hashCode方法 @EqualsAndHashCode注解可以自动生成这些方法

通过类注解来生成构造方法 @NoArgsConstructor生成一个默认的构造方法 @RequiredArgsConstructor为所有final和非空(译注:带有@NonNull注解)字段生成一个构造方法 @AllArgsConstructor会为所有字段生成一个构造方法

@Data是@ToString, @EqualsAndHashCode, @RequiredArgsConstructor, 和@Getter / @Setter这些注解的一个快捷方式。

这些是最常用到的Lombok特性。其它的一些功能可以到它的项目主页上进行了解。

示例

假设我们有一个类是需要支持序列化的,并且需要一个构造方法。这需要重写equals,hashCode,toString,同时为私有成员变量提供setter/getter方法,并实现一个构造方法。

使用了Lombok

@RequiredArgsConstructor

@ToString

@EqualsAndHashCode

public class Animal {

@Getter @Setter private String name;

@Getter @Setter private String gender;

@Getter @Setter private String species;

}

没有使用Lombok:

public class Animal {

private String name;

private String gender;

private String species;

public Animal(String name, String gender, String species) {

this.name = name;

this.gender = gender;

this.species = species;

}

public String getName(){

return this.name;

}

public void setName(String name){

this.name = name;

}

public String getGender(){

return this.gender;

}

public void setGender(String gender){

this.gender = gender;

}

public String getSpecies(){

return this.species;

}

public void setSpecies(String species){

this.species = species;

}

@Override

public boolean equals(Object o) {

if (this == o) return true;

if (!(o instanceof Animal)) return false;

Animal animal = (Animal) o;

if (gender != null ? !gender.equals(animal.gender) : animal.gender != null) return false;

if (name != null ? !name.equals(animal.name) : animal.name != null) return false;

if (species != null ? !species.equals(animal.species) : animal.species != null) return false;

return true;

}

@Override

public int hashCode() {

int result = name != null ? name.hashCode() : 0;

result = 31 * result + (gender != null ? gender.hashCode() : 0);

result = 31 * result + (species != null ? species.hashCode() : 0);

return result;

}

@Override

public String toString() {

return Objects.toStringHelper(this) //Using guava library objects toString

.add("name", name)

.add("gender", gender)

.add("species", species)

.toString();

}

}

很多Java开发人员会争辩道,"有加注解的那个工夫,IDE早就把这些代码给生成了!"

我想说的是你没有说到点子上。人们不喜欢Java是因为它的代码里必须要有这些乱七八糟的东西。像Ruby, Groovy, Perl或者别的脚本语言,都比这简单多了。简单即是美,兄弟连小编觉得Lombok和Java很般配呢。

时间: 2024-08-05 21:34:58

分享Java开发的利器-Lombok的相关文章

Lombok: Java开发的利器

Lombok是一个旨在减少代码开发工作的Java库.本文介绍了如何用它来完成getter/setter方法,构造方法,以及重写equals(),hashCode()和toString()方法.在Java中,一个很简单的类却往往写得特别复杂.如果你没听说过Lombok的话,那它肯定会让你满意的. Lombok可以帮助Java开发人员完成以下这些事情: 1. 不用再写setter/getter方法了 public class Animal { @Getter @Setter private Stri

Java开发速度神器Lombok,Eclipse端安装使用教程

一.Lombok简介 Lombok是一个代码生成器,可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法. 如:getter setter toString equels方法等都可以自动生成 使用 lombok 是需要安装的,如果不安装,IDE 则无法解析 lombok 注解. 官方地址:https://projectlombok.org/ 二.Lombok安装 2.1自动安装 从官网下载Lombok.jar,

Java开发工具的选择

工欲善其事,必先利其器. Java开发的利器有很多,各有特色,身边朋友使用较多的有eclipse.MyEclipse.IDEA.NetBeans,JBuilder等,此时此刻推荐IDEA,功能强大,前景看好,虽然需要大内存支持,正版收费,也挡不住其的火热程度. 目前其版本发布频率大约一年左右,版本间变化较大,有机会还是使用较新版本为好,等最新版本出来3-6个月后再使用最新版本,到那时才能从网上找到相关帮忙信息. 原文地址:https://www.cnblogs.com/nanshanwentao

[Java 开发利器Lombok] 常用注解演示

在以往的对象模型编码时,我们需要写一大堆的get/set以及不同的构造函数等.Lombok为我们提供了一个非常好的插件形式. 在大多数的项目中,只需要使用到以下集中Annotation就足够了,如果需要查看更多的选项,请参考:传送门 @Getter @Setter @ToString @RequiredArgsConstructor 生成final 字段的构造函数 /** * java class */ @RequiredArgsConstructor class UserVO { privat

分享Java web 开发必游之路

一.开始,万事开头难啊! Java的学习很难,因为它太庞杂了,有很多令人恐惧的(并非语言本身的)细节. 让我们先看看,我们将碰到哪些难关: 1. 表示 脸面的部分,这里将用到的技术和知识:JSP,Servlet,XML,HTML,JavaScript,CSS等,最好能了解网络基础(TCP/IP协议等). 2. 业务逻辑 核心的部分,这里将用到的技术和知识:Java Bean,XML等. 3. 数据库 存储的部分,这里将用到的技术和知识:数据库的知识,JDBC,XML等. 4. 部署 必备的部分,

分享 Java微信开发SDK

分享 Java微信开发SDK •发布于 4周前  •作者 朋也  •432 次浏览  •最后一次编辑是 2周前  •来自 分享 给大家分享两个java开发微信公众号的sdk jfinal-weixin weixin-java-tools fastweixin 第一个是jfinal框架开发的微信开发sdk,貌似没什么文档,大家知道哪地方有文档可以在下方留言 第二个是在github上找的,fork人数也不少,文档写的挺好,基于maven方式搭建,开发起来也很方便 第三个是在osc上看到的,可以整合s

Java简化代码神器-Lombok

一.背景 前段时间在开源社区中发现了一个比较牛逼的简化Java代码的神器-Lombok,接着自己写了demo进行测试和练习,感觉真的很不错,特此分享给需要的小伙伴们~ 二.开发之前的准备 1.lombok的官方网站:http://projectlombok.org/ 2.lombok IDE插件安装 要想在IDE中使用lombok是需要安装相关插件的.如果不安装,IDE 则无法解析 lombok 注解.安装之前需要首先在官方网站下载相关jar包,现在官网版本是:1.16.8. [1].使用jav

分享Java的9个知识点

关于java编程的知识,有人会问哪些是重要的知识点,不知道大家是否都知道呢? 现在兄弟连www.lampbrother.net 小编给大家分享以下9点内容,仔细看咯! 1.多线程并发 多线程是Java中普遍认为比较难的一块.多线程用好了可以有效提高cpu使用率, 提升整体系统效率, 特别是在有大量IO操作阻塞的情况下;但是它也是一柄双刃剑, 如果用不好,系统非但提升不大,或者没有提升,而且还会带来多线程之间的调试时等问题. 在多线程中内容有很多,只是简单说明一下Java中初步使用多线程需要掌握的

Java开发牛人十大必备网站

以下是我收集的Java开发牛人必备的网站.这些网站可以提供信息,以及一些很棒的讲座, 还能解答一般问题.面试问题等.质量是衡量一个网站的关键因素,我个人认为这些网站质量都很好.接下来,我会跟大家分享我是如何使用这些网站学习和娱乐的.或许你会认为有些网站适合任何水平的开发者,但是我认为:对于Java开发牛人来说,网站的好坏取决于如何使用它们. 1.Stackoverflow Stackoverflow.com 可能是编程界中最流行的网站了,该网站有成千上万个好问题和答案.学习API或者编程语言,通