Lombok——java的实用工具
2021/9/10 20:05:24
本文主要是介绍Lombok——java的实用工具,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在Java的开发中,开发人员可以利用一些工具消除一些不必要的代码冗长,Lombok就是其中一种。
目录
一、为什么要使用Lombok?
二、使用步骤
1.idea中下载并引入插件(在idea20年的最后一个版本后,idea已经自带Lombok插件!)
2.在maven下的pom.xml文件中导入依赖
三、Lombok的注解使用
3.1 @Data
3.2 @getter和@setter
3.3 @ToString
3.4 @EqualsAndHashCode
3.5 @NoArgsConstructor
3.6 @AllArgsConstructor
3.7 @RequiredArgsConstructor
使用注解后POJO页面的一部分比较
在Java项目中,存在着一些不太友好的代码,如POJO中的setter/getter等,它们既没有太大的技术含量,又造成了代码的不美观与冗长,而使用Lombok可以很好的帮我们解决这种情况。
二、使用步骤
1.idea中下载并引入插件(在idea20年的最后一个版本后,idea已经自带Lombok插件!)
2.在maven下的pom.xml文件中导入依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
</dependency>
三、Lombok的注解使用
3.1 @Data
@Data包含了@ToString、@EqualsAndHashCode、@Getter / @Setter和@RequiredArgsConstructor的功能。(推荐直接使用@Data)
3.2 @getter和@setter
让lombok自动生成默认的getter/setter方法。
3.3 @ToString
生成toString()方法
默认情况下,它会按顺序(以逗号分隔)打印你的类名称以及每个属性。
可以这样设置不包含哪些字段:
@ToString(exclude = "id")
或者:
@ToString(exclude = {"id","name"})
3.4 @EqualsAndHashCode
生成hashCode()和equals()方法。
默认情况下,它将使用所有非静态,非transient字段。但可以通过在可选的exclude参数中来排除更多字段。或者,通过在parameter参数中命名它们来准确指定希望使用哪些字段。
3.5 @NoArgsConstructor
@NoArgsConstructor生成一个无参构造方法。
当类中有final字段没有被初始化时,编译器会报错,此时可用@NoArgsConstructor(force = true),然后就会为没有初始化的final字段设置默认值 0 / false / null。对于具有约束的字段(例如@NonNull字段),不会生成检查或分配,因此请注意,正确初始化这些字段之前,这些约束无效。
3.6 @AllArgsConstructor
@AllArgsConstructor 生成一个全参数的构造方法。
3.7 @RequiredArgsConstructor
@RequiredArgsConstructor会生成构造方法(可能带参数也可能不带参数)
如果带参数,这参数只能是以final修饰的未经初始化的字段,或者是以@NonNull注解的未经初始化的字段。
使用注解后POJO页面的一部分比较
可以看到,仅仅只是setter/getter的代码就如此冗长,经过Lombok的注解功能后,POJO大大简化
这篇关于Lombok——java的实用工具的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)