Lombok插件的安装和使用

IDEA中安装Lombok插件

打开IDEA的Setting –> 选择Plugins选项 –> 选择Browse repositories –> 搜索lombok –> 点击安装 –> 安装完成重启IDEA –> 安装成功
在这里插入图片描述
引入lombok的jar包

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

Lombok优缺点

优点:
1. 能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,提高了一定的开发效率
2. 让代码变得简洁,不用过多的去关注相应的方法
3. 属性做修改时,也简化了维护为这些属性所生成的getter/setter方法等

缺点:
1. 不支持多种参数构造器的重载
2. 虽然省去了手动创建getter/setter方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读源代码的舒适度

Lombok注解

@Data
注解在类上,会为类的所有属性自动生setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,
则不会为该属性生成setter方法。

@Geter/@Setter
如果觉得@Data太过残暴(因为@Data集合了@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor的所有特性)不够精细,可以使用@Getter/@Setter注解,此注解在属性上,可以为相应的属性自动生成Getter/Setter方法

@ToString
使用该注解Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序)
通过将includeFieldNames参数设为true,就能明确的输出toString()属性。

@NoArgsConstructor
无参构造器

@RequiredArgsConstructor
部分参数构造器

@AllArgsConstructor
全参构造器

@NonNull
该注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。

@Cleanup
该注释自动帮助我们调用close()方法。例如:在使用io流时加上该注解就不用在finally里关闭流了

@EqualsAndHashCode
默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode,也能通过exclude注解来排除一些属性。

例子: 实例类省略了get,set,toString方法以及无参和全参构造函数
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章