java开发中的lombok插件介绍

lombok插件是什么

lombok它是一个java库,它提供了一组非常有用的注解,用来消除java类中的大量重复代码。可以为开发人员节约大量的时间,提高开发效率。

lombok提供了@Setter、@Getter、@Data、@ToString、@EqualsAndHashCode 、@NoArgsConstructor 、@RequiredArgsConstructor 、@AllArgsConstructor @Builder 、@Slf4j 等注解。接下来我们简单介绍一下:

@Setter

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

import lombok.Setter;

/**
 * @author hopecoder
 */
@Setter
public class Demo {

private String id;

}

或者

import lombok.Setter;

/**
 * @author hopecoder
 */

public class Demo {
    @Setter
    private String id;

}
@Getter

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

import lombok.Getter;

/**
* @author hopecoder
*/

public class Demo {
@Getter
private String id;

}

或者

import lombok.Getter;

/**
* @author hopecoder
*/
@Getter
public class Demo {

private String id;

}
@ToString

注解在类上面,为这个对象添加toString方法。

import lombok.ToString;

/**
* @author hopecoder
*/
@ToString
public class Demo {

private String id;

}
@EqualsAndHashCode

注解在类上面,为这个对象添加hashCodehe、equals方法。

import lombok.EqualsAndHashCode;

/**
* @author hopecoder
*/
@EqualsAndHashCode
public class Demo {

private String id;

}
@NoArgsConstructor

注解在类上面, 为该类生成一个无参的构造函数。

import lombok.NoArgsConstructor;

/**
* @author hopecoder
*/
@NoArgsConstructor
public class Demo {

private String id;

}
@RequiredArgsConstructor

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

import lombok.RequiredArgsConstructor;

/**
* @author hopecoder
*/
@RequiredArgsConstructor
public class Demo {

private String id;

}
@AllArgsConstructor

注解在类上面,跟@NoArgsConstructor类似,但是它是生成包含类中所有字段的构造方法。

import lombok.AllArgsConstructor;

/**
* @author hopecoder
*/
@AllArgsConstructor
public class Demo {

private String id;

}
@Data

注解在类上面,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。

import lombok.Data;

/**
* @author hopecoder
*/
@Data
public class Demo {

private String id;

}
@Slf4j

注解在类上面,生成log变量,严格意义来说是常量,可以输出日志。

import lombok.extern.slf4j.Slf4j;

/**
* @author hopecoder
*/
@Slf4j
public class Demo {

private String id;

}
lombok插件怎么使用

首先我们要在项目中引入lombok的包。gradle项目的话,在build.gradle中添加如下依赖:

implementation("org.projectlombok:lombok:${lombokVersion}")
annotationProcessor("org.projectlombok:lombok:${lombokVersion}")

${lombokVersion}为你需要引入的lombok的版本。

另外还需要在IDE上安装lombok插件,这里以idea为例,打开项目的settings,找到plugins,然后搜索lombok,安装即可:

插件安装完成后,还需要启用annotation processors,打开settings,搜索annotation processors,将右边的enable勾上即可:

到这里lombok就可以使用了,大家可以去项目中试一试。

Lombok的弊端

虽然说Lombok给我们的开发工作带来了方便,极大的提高了开发的效率,但是它也有一些麻烦的地方,例如:

1.强迫队友安装lombok插件,只要引入了lombok,你队友的IDE就必须安装lombok插件,要不然代码无法编译。

2.代码可调试性降低,因为lombok给你自动生成了一些代码,这些代码是在编译的时候才自动生成的,你在调试的时候是没有的。

3.假如我们要在getter和setter中做些自定义的操作,就不能使用@Data注解自动生成。

发表评论

邮箱地址不会被公开。 必填项已用*标注