消除冗长Java代码的工具——Lombok详解

消除冗长Java代码的工具——Lombok详解

文章目录

  • 消除冗长Java代码的工具——Lombok详解
    • 什么是Lombok
    • Lombok的作用
    • Lombok常用注解
    • Lombok安装

什么是Lombok

之前一段时间去公司实习,发现了一个十分便捷的小工具Lombok。那么Lombok是个什么呢?Lombok会利用注解自动生成 pojo 中烦人的getter、setter方法、构造函数等,使我们无需手动去建立,帮助我们简化Java 代码的工具。

Lombok的作用

简单来说,比如我们新建了一个User类,

消除冗长Java代码的工具——Lombok详解_第1张图片

通常情况下我们需要手动去建立getter、setter方法,构造函数等,这就出现了大量冗长的样板式代码。Lombok的作用就是为了省去这一步骤,让代码整洁易读。

使用Lombok的@Data注解后:
消除冗长Java代码的工具——Lombok详解_第2张图片
在我们没有创建这些类的情况下,@Data为我们提供了大量方法

消除冗长Java代码的工具——Lombok详解_第3张图片

Lombok常用注解

@Setter
编译自动生成setter方法,final修饰的变量不包含在内,举例:

@Setter
public class TestEntity {
     
        private String name;
        private Integer age;
        private final String type = "type";
 }

反编译的类如下:

public class TestEntity {
     
        private String name;
        private Integer age;
        private final String type = "person";
        public TestEntity() {
     
           }
        public void setName(String name) {
     
               this.name = name;
           }
        public void setAge(Integer age) {
     
               this.age = age;
             }
 }
注解 说明
@Getter 编译自动生成getter方法,final修饰的变量不包含在内,同上
@NoArgsConstructor 编译自动生成一个空的构造函数
@AllArgsConstructor 编译自动生成一个全参数的构造函数
@RequiredArgsConstructor 编译自动将标记为@NoNull的属性生成一个构造函数
@ToString 生成全属性的toString方法
@EqualsAndHashCode 编译自动生成equals和hashcode
@Data 编译自动生成所有属性的getter和非final修饰的setter
@Builder 构造Builder模式的结构。通过内部类Builder()进行构建对象

Lombok安装

Maven依赖

<dependencies>
    <dependency>
        <groupId>org.projectlombokgroupId>
        <artifactId>lombokartifactId>
        <version>1.16.10version>
    dependency>
dependencies>

Intellij idea直接安装Lombok插件即可

你可能感兴趣的:(java,工具类,java)