大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
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方法。
@Getter/@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方法以及无参和全参构造函数
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197258.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...