eclipse安装lombok使用及问题

eclipse安装lombok使用及问题

一、lombak诞生原因:

Java项目有太多没有逻辑的代码,影响阅读程序主要逻辑,充斥着太多不友好的代码,如:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等,上述代码通常没有技术含量,又影响着代码的美观,因此Lombok应运而生,任何技术的出现都是为了解决某一类问题。

二、具体使用和安装

1)引入相应的maven包

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

Lombok的scope=provided,说明它只在编译阶段生效,不需要打入包中。事实正是如此,Lombok在编译期将带Lombok注解的Java文件正确编译为完整的Class文件,即重新包含getter,setter等方法的类。

2)下载

前往官网下载:https://projectlombok.org/download lombok.jar

3)将lombok.jar放在eclipse的安装目录下。

4)执行java -jar lombok.jar

cmd窗口(Windows系统)或Shell窗口(Linux 系统)执行命令:java -jar lombok.jar

5)install/update

基于4),在弹出的窗口中点击Specify location.. 选择eclipse 的安装目录。然后点击install/update。
安装成功,退出,在eclipse.ini中会看到新增lombok.jar一行。

6)手动添加(可直接跳过4、5步)

有时可能这样自动安装的路径导致eclipse无法启动,可以将eclipse.ini文件自动追加的一行修改为如下:

-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar

7)启动eclipse ,clean(或者maven update)

错误消失。

三、关于lombok的使用简要说明

1) @NonNull:

可以帮助我们避免空指针。

import lombok.NonNull;
public class NonNullExample extends Something {
private String name;
public NonNullExample(@NonNull Person person) {
super("Hello");
this.name = person.getName();
}
}

2) @Cleanup:

自动帮我们调用close()方法。

import lombok.Cleanup;
import java.io.*;
public class CleanupExample {
public static void main(String[] args) throws IOException {
@Cleanup InputStream in = new FileInputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);
byte[] b = new byte[10000];
while (true) {
int r = in.read(b);
if (r == -1) break;
out.write(b, 0, r);
}
}
}

3) @Getter / @Setter: (常用)

自动生成Getter/Setter方法(常用)

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
public class GetterSetterExample {
@Getter @Setter private int age = 10;
@Setter(AccessLevel.PROTECTED) private String name;
}

4) @NoArgsConstructor和@AllArgsConstructor: (常用)

自动生成无参数和全参数构造函数。

5) @Data: (常用)

自动为所有字段添加@ToString, @EqualsAndHashCode, @Getter方法,为非final字段添加@Setter,和@RequiredArgsConstructor!

posted @   高兴518  阅读(415)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示

目录导航