Lombok项目 之 Eclipse安装和示例

Lombok是非常方便的工具,可用于最小化样板代码以及提供许多其他功能,例如延迟加载线程安全不变性。这就是它在开发人员社区中非常受欢迎的原因。

在本教程中,我们将详细了解Lombok项目,包括示例的用法。

目录

什么是Lombok 
在Eclipse 
Lombok中安装Lombok 示例
Delomboking-从项目
摘要回滚Lombok

什么是Lombok

Lombok是一个开放源代码库(基本上是一个独立的jar),它能够为任何Java类自动生成样板代码,发挥神奇的作用。因此,如果Lombok位于类路径中,只需添加几个类就可以轻松摆脱所有的getters和setters方法,类构造函数hashcode和equals方法以及更多其他方法annotations

这不是很酷的功能吗?让我们开始学习它,以在下一个项目中广泛使用它。

在Eclipse中安装Lombok

如果将lombok放在项目类路径中,虽然lombok将起作用。但是为了使其与Eclipse一起使用,我们需要首先执行几个步骤以将其安装在Eclipse中。

  1. 下载Lombok罐子文件

    首先,我们需要下载Lombok jar。我们可以直接从https://projectlombok.org/downloads/lombok.jar下载它,但是由于将来我们将使用maven,因此让我们以maven的名义代表我们进行下载,否则我们将在同一台机器中使用同一个jar的多个版本当我们不得不使用它的更新版本时,将会产生问题。

    为此,我们将在eclipse中创建一个maven项目,并在中添加lombok依赖项pom.xml。撰写本文时,Lombok的最新版本是1.16.18

    在您的Maven项目中添加以下依赖项,以便它首先在本地存储库中下载。

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

    现在mvn clean install,在新创建的项目上执行命令,以将该jar下载到本地存储库中。

  2. 开始Lombok安装

    将jar下载到本地存储库后,从命令提示符转到jar位置并运行以下命令java -jar lombok-1.16.18.jar,这样的话,应该由lombok提供的Lombok安装窗口打招呼。

    在Eclipse中安装Lombok –步骤1
  3. 给出Lombok安装路径

    现在,单击“ 指定位置 ”按钮,然后eclipse.exe在Eclipse安装文件夹下找到路径,如下所示。

    在Eclipse中安装Lombok –步骤2
  4. 完成Lombok安装

    现在,我们需要最后通过单击“安装/更新”按钮来安装它,并且我们应该在Eclipse中完成lombok的安装,并且可以使用它的隐藏功能了。最终屏幕看起来像

    在Eclipse中安装Lombok –步骤3

Lombok的例子

现在,让我们看一些在项目源代码中使用Lombok的示例。

  • 摆脱 Setter

    我们每个人都必须在日常工作中大量生成此Java bean模式,并且它已经变得如此 popular ,以至于所有IDE都具有生成Getter和Setter的功能-但是一旦由IDE生成,下一步将是什么?我们需要在项目的整个生命周期中携带这些代码,并且需要维护这些代码,这也增加了整个项目的代码行。

    使用lombok,我们需要在类中添加一些注解,然后完成。为了生成Setters和Getters,我们需要像这样在类级别添加@Getter@Setter

    package com.test.howtodoinjava.lombok;
    
    import lombok.Getter;
    import lombok.NonNull;
    import lombok.Setter;
    
    @Getter
    @Setter
    public class LombokModel {
    
    	private @NonNull String name;
    	private @NonNull String age;
    	private @NonNull String address;
    
    	// No Getters and Setters, hashCode, Equal-- even though we can refer it from client code.
    	// This is how we are taking help from Lombok to get rid of boiler plate code.
    }	
    

    看看右边的大纲窗口,我们拥有所有的settersgetters随时可以使用。

    Getter / Setter生成
  • 生成构造函数

    Lombok可以轻松生成构造函数,既不需要参数也可以使用字段。我们需要添加注解@NoArgsConstructor以生成隐式的无参数构造函数,并@RequiredArgsConstructor添加必需的字段构造函数。

    另外,要设置一个必填字段,我们需要@NonNull像下面这样添加字段本身。

    package com.test.howtodoinjava.lombok;
    
    import lombok.Getter;
    import lombok.NoArgsConstructor;
    import lombok.NonNull;
    import lombok.RequiredArgsConstructor;
    import lombok.Setter;
    
    @Getter
    @Setter
    @NoArgsConstructor
    @RequiredArgsConstructor
    public class LombokModel {
    
    	private @NonNull String name;
    	private @NonNull String age;
    	private @NonNull String address;
    
    }	
    

    还要看一下右侧的轮廓窗口,lombok已经按照​​我们的期望添加了构造函数。

    Lombok生成的构造函数
  • hashCode(),equals()和toString()方法

    我们可以很容易地通过添加注解添加默认实现这些方法@ToString,并@EqualsAndHashCode在一 Stream 水平。
    代码现在看起来像

    package com.test.howtodoinjava.lombok;
    
    import lombok.EqualsAndHashCode;
    import lombok.Getter;
    import lombok.NoArgsConstructor;
    import lombok.NonNull;
    import lombok.RequiredArgsConstructor;
    import lombok.Setter;
    import lombok.ToString;
    
    @Getter
    @Setter
    @NoArgsConstructor
    @RequiredArgsConstructor
    @ToString
    @EqualsAndHashCode
    public class LombokModel {
    
    	private @NonNull String name;
    	private @NonNull String age;
    	private @NonNull String address;
    
    }	
    

    我们还可以通过查看outline窗口来查看生成的方法。

    hashCode,equals和toString生成
  • 常规对象生成器模式

    我们可以使用lombok在代码中轻松添加构建器模式。我们不必编写单独的构建器类。通过简单地@Builder在类级别添加注解,Lombok将生成生成器以及类似setter的setter方法。

    package com.test.howtodoinjava.lombok;
    
    import lombok.Builder;
    import lombok.EqualsAndHashCode;
    import lombok.NonNull;
    import lombok.ToString;
    
    @ToString
    @EqualsAndHashCode
    @Builder
    public class LombokModel 
    {
    	private @NonNull String name;
    	private @NonNull String age;
    	private @NonNull String address;
    
    	public static void main(String[] args) 
    	{
    		LombokModel lombokModel = new LombokModelBuilder()
    									.name("Sajal")
    									.address("India")
    									.age("100")
    									.build();
    	
    		System.out.println(lombokModel);	
    	}
    }	
    
  • Lombok的其他功能

    我们还有更多注解,它们也非常有用。这些留给您尝试玩。例如

    1. @数据
    2. @代表
    3. @同步
    4. @ slf4j
    5. @清理

Delomboking –从项目回滚Lombok

有时候,所有伟大的事物并不总是被所有人接受。想想这种情况,您决定利用lombok并已经添加了许多注解,并且由于项目决策者的某些突然更改,您被要求停止使用lombok,并且需要使用旧的方法。做事情!!!

现在,要还原已随样板代码添加的所有注解根本不是一件容易的事。为此,Lombok本身提供了一些步骤,通过这些步骤,我们可以轻松地将注解的源代码替换为Lombok生成的类。

为了获得lombok生成的类,lombok已经在这里记录了其步骤。这个过程叫做delombok

Delombok过程

要使用它,您只需在命令行上运行:

java -jar lombok.jar delombok src -d src-delomboked

上面的命令会将src目录的内容复制到src-delomboked目录,如果尚不存在,则将创建该目录,但当然会进行delomboked。

Delombok尝试尽可能多地保留您的代码,但是注解可能会稍微移动一些,尤其是在语法节点中间的注解。

摘要

在本Lombok教程中,我们了解了如何使用lombok来帮助我们摆脱一些重复的代码,并且它还可以做一些额外的事情。因此,您现在可以在适当的时候使用此工具,我建议您在日常工作中开始使用它。

如果您有任何疑问,请在评论区留言,我会一一解答。

!!

11

 发表评论

saigon has written 1445 articles

Leave a Reply