eclipse 安装lombok插件(详解)lombok常用注解

时间:2022-06-29 00:39:05

1.简单介绍

  Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。(百度百科)

  简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。

2.安装步骤

  第一步:下载lombok.jar包

  下载地址:​​https://projectlombok.org/download​​ 

  比方说,我把该jar包下载到了桌面上

eclipse 安装lombok插件(详解)lombok常用注解

  第二步:打开黑窗口

  win+r--》cmd--》打开黑窗口--》切换到该jar包所在的上级目录

eclipse 安装lombok插件(详解)lombok常用注解

  第三步:运行lombok.jar

  输入命令:java -jar lombok.jar --》回车,会出现以下界面

eclipse 安装lombok插件(详解)lombok常用注解

  此时,正在寻找开发工具IDE的安装路径,找到后会出现如下界面

eclipse 安装lombok插件(详解)lombok常用注解

  当然,如果找的不对的话,或者你想切换成其它IDE,点击“Specify location...”,手动指定也是可以哒。 

  第四步:安装lombok

  点击上图右下角的Install/Update;

  此时,找到eclipse的安装目录,查看eclipse.ini文件,你将发现,会多出以下内容:

eclipse 安装lombok插件(详解)lombok常用注解

  这不是手动加上的,而是第四步安装后自动加上的。

  点击Quit Installer,完成安装

eclipse 安装lombok插件(详解)lombok常用注解

  结束后,eclipse的安装目录下会多一个lombok.jar包

eclipse 安装lombok插件(详解)lombok常用注解

  第五步:测试

  重启eclipse;

  在项目中添加jar包:lombok.jar;

  如果是maven项目,在pom.xml中添加:

<   dependency >
< groupId >org.projectlombok
< artifactId >lombok
< version >1.18.12
< scope >provided

  保存,Alt+F5--》更新maven项目;

import lombok.Builder;
import lombok.Data;

@Builder
public class Test {
private String website;
private String name;

public static void main(String[] args) {
TestBuilder test = Test.builder().website( "javascript:void(0)/" ).name( "Marydon" );
System.out.println(test.name + "的博客地址:" + test.website);
}

}

eclipse 安装lombok插件(详解)lombok常用注解

3.idea安装lombok插件

打开设置项,找到"Plugins";

搜索:lombok,进行安装即可。

eclipse 安装lombok插件(详解)lombok常用注解

右侧有关于当前版本支持的注解明细及用法。

4.lombok常用注解

  @Setter :注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。

  @Getter :使用方法同上,区别在于生成的是getter方法。

  @Getter(lazy=true) :实际使用到的时候生成。

  @ToString :注解在类,为类提供toString方法。

  @EqualsAndHashCode: 注解在类,生成hashCode()和equals()方法。

  @NoArgsConstructor: 注解在类,生成无参的构造方法。

  @RequiredArgsConstructor: 注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段。

  @AllArgsConstructor: 注解在类,生成包含类中所有字段的构造方法。

  @Data: 注解在类,生成setter/getter()、equals()、canEqual()、hashCode()、toString()方法,如为final属性,则不会为该属性生成setter方法。

  相当于:@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集。

  @Slf4j: 注解在类,生成log变量,严格意义来说是常量。

  @Builder:注解在类、构造函数或方法上,生成builder()方法,根据该方法来完成对类的私有属性的取值和赋值工作,但是无法调取到自定义的方法。

       @Accessors(chain = true):注解在类上,和@Builder搭配使用,如果只有此注解,没有@Builder的话,该注解将毫无意义,无法单独使用。

  @NonNull:可以帮助我们避免空指针;

  注解在参数上, 如果该类参数为 null , 就会报出异常,  throw new NullPointException(参数名)

  @Cleanup: 用在流上,流读取完毕后,会自动帮我们调用close()方法

  注释在引用变量前, 自动回收资源 默认调用 close() 方法

  2022年9月21日16:16:29

  @Value :@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

  @Synchronized : 注解在方法上, 为方法提供同步锁。

  @Log4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象。

  @Slf4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象。

  搞不明白的可以自己写一个例子,然后用反编译文件看看到底注解转换成了什么样的代码

2022年6月2日10:13:28

如果既想通过@Builder实例化对象,又想通过new来实例化对象,必须在类上声明两个关于构造函数的注解,即:

@NoArgsConstructor和@AllArgsConstructor;

eclipse 安装lombok插件(详解)lombok常用注解

如果只通过@Builder来实例化对象的话,不需要声明@NoArgsConstructor和@AllArgsConstructor;

eclipse 安装lombok插件(详解)lombok常用注解

如果只需要通过new来实例化对象的话,同样,也不需要声明@NoArgsConstructor和@AllArgsConstructor;

eclipse 安装lombok插件(详解)lombok常用注解

如何通过@Builder构造的对象,获取到变量的默认值?

需要在设置默认值的成员变量上,添加注解:@Builder.Default。

eclipse 安装lombok插件(详解)lombok常用注解

另外,8种基本数据类型的默认值,@Builder是可以正常获取到的,不需要加@Builder.Default。

eclipse 安装lombok插件(详解)lombok常用注解

通过对象拿到基本数据类型字段值,不是通过get()方法,而是直接调用:字段名称+();

System.out.println(msgConfig.isSuccess());

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

作者:​​Marydon​​