Lombok安装及使用

Lombok安装及使用


    近些天在逛github时,发现了lombok这种实用的小工具.

lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的Pojo 代码.

一般一个标准的Java bean具有若干属性,对应的还有getter()和setter方法,通常还会有toString(),equal(),hashCode等方法.

为了简化代码的冗余性,可以选择使用lombok.

Lombok安装:

  • 这里介绍的是IDEA的安装

一.开发工具插件的安装

  1. File右键–>打开Settings -->找到Plugins–>选择Browse repositories
  2. 在搜索框搜索Lombok,点击安装
    这里写图片描述
    3.安装成功后重启IDEA
    这里写图片描述
  3. 右键Settings搜索Annotaion Processors,勾选 --打开注解生成器Enable annotation processing
    这里写图片描述

Lombok的使用

使用前需要导包
  • 普通项目可导入lombok-1.16.22.jar

注意jar包的版本要与插件的版本要对应,不然可能会出现版本不兼容的问题

  • maven项目导入lombok的依赖
      <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.22</version>
        </dependency>

简单使用:

  • 不使用lombok
public class User {
	private int id ;
	private String name ;
	private String password ;


	public User() {
	}

	public User(int id, String name, String password) {
		this.id = id;
		this.name = name;
		this.password = password;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	@Override
	public String toString() {
		return "User{" +
				"id=" + id +
				", name='" + name + '\'' +
				", password='" + password + '\'' +
				'}';
	}


	
}

这里写图片描述

代码量很大

  • 使用lombok
	@Data
	@NoArgsConstructor
	@AllArgsConstructor
	@Log4j
	public class User {
		private int id ;
		private String name ;
		private String password ;
	}

这里写图片描述

大大减少了书写的代码量以及属性数据类型更改带来的困扰.

常用的 lombok 注解:

@Data :注解在类上;包含了@ToString,@EqualsAndHashCode,@Getter / @Setter和@RequiredArgsConstructor的功能,提供类所有属性的 getter 和 setter 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter :注解在属性上;为属性提供 setter 方法
@Getter :注解在属性上;为属性提供 getter 方法
@ToString :注解在类上;生成toString()方法,默认情况下,它会按顺序(以逗号分隔)打印你的类名称以及每个字段。可以这样设置不包含哪些字段@ToString(exclude = “id”) / @ToString(exclude = {“id”,“name”})
如果继承的有父类的话,可以设置callSuper 让其调用父类的toString()方法,例如:@ToString(callSuper = true)
@EqualsAndHashCode :注解在类上;生成hashCode()和equals()方法,默认情况下,它将使用所有非静态,非transient字段。但可以通过在可选的exclude参数中来排除更多字段。或者,通过在parameter参数中命名它们来准确指定希望使用哪些字段。
@NonNull : 注解在属性上;标识属性是不能为空,为空则抛出异常。
@Slf4j :注解在类上;根据用户实际使用的日志框架生成log日志对象。
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor :注解在类上;为类提供一个无参的构造方法。当类中有final字段没有被初始化时,编译器会报错,此时可用@NoArgsConstructor(force = true),然后就会为没有初始化的final字段设置默认值 0 / false / null。对于具有约束的字段(例如@NonNull字段),不会生成检查或分配,因此请注意,正确初始化这些字段之前,这些约束无效。
@AllArgsConstructor :注解在类上;为类提供一个全参的构造方法
默认生成的方法是public的,如果要修改方法修饰符可以设置AccessLevel的值,例如:@Getter(access = AccessLevel.PROTECTED)
@RequiredArgsConstructor :注解在类上;会生成构造方法(可能带参数也可能不带参数),如果带参数,这参数只能是以final修饰的未经初始化的字段,或者是以@NonNull注解的未经初始化的字段@RequiredArgsConstructor(staticName = “of”)会生成一个of()的静态方法,并把构造方法设置为私有的。

### Lombok 安装教程 为了在Java项目中使用Lombok,需先确保已正确安装JDK并设置了`JAVA_HOME`环境变量[^1]。接着按照以下说明完成Lombok安装: #### 下载与安装Lombok 前往[Lombok官方GitHub页面](https://projectlombok.org/download),下载最新版jar文件。 ```bash wget https://projectlombok.org/downloads/lombok.jar ``` 通过命令行启动图形化界面来自动安装到IDEA或Eclipse: ```bash java -jar lombok.jar ``` 对于非GUI环境下,则可以通过参数指定目标IDE路径手动安装。 #### IDEA集成配置 打开IntelliJ IDEA, 进入 `File -> Settings -> Plugins`, 查找 "Lombok Plugin" 并安装插件重启IDE生效。 确认编译器设置允许处理注解处理器,在`Settings->Build, Execution, Deployment->Compiler->Annotation Processors`勾选Enable annotation processing选项。 #### Maven项目引入依赖 编辑项目的POM.XML加入如下片段以声明对Lombok的支持: ```xml <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version><!-- 版本号应根据实际情况调整 --> <scope>provided</scope> </dependency> ``` 此时已经完成了基本的准备工作,可以在实体类上尝试添加诸如`@Data`,`@AllArgsConstructor`之类的简化编码工作的注解了[^2]。 需要注意的是,尽管Lombok能极大程度提升开发效率,但也存在一些局限性如版本兼容性问题、项目可移植性的挑战以及增加理解和维护代码复杂度的可能性[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值