欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java开发工具-lombok的介绍和使用

程序员文章站 2022-05-20 09:39:36
...

Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO),通过注解实现这一目的。

在一般情况下,我们通常将一个类中的各个属性设置getter和setter等函数,如下所示(getter和setter):

public class User {
    private int id;
    private String name;
    private String pwd;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
}

很明显,我们的代码量由于getter和setter方法而变得冗余,这不是我们希望看到的。那么,利用java的注解机制,就可以很完美的解决这个问题,这就是lombok工具包要实现的目的。lombok工具包的使用如下:

import lombok.Data;

@Data
public class User {
    private int id;
    private String name;
    private String pwd;
}

通过@Data注解,这个类就可以自动生成这些方法(getter、setter和constructor等等)。当然,@Data是一种粗粒度的注解,lombok也提供了很多细粒度的注解方式,如下:

  • field注解:@Getter,@Setter
  • 类注解:@ToString,@AllArgsConstructor

lombok是一个项目要依赖的jar包,我们可以通过IDEA中的pom.xml对其进行自动配置,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>SpringLearning</artifactId>
        <groupId>org.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-mybatis</artifactId>

    <dependencies>
    	<!--添加lombok依赖包-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.10</version>
        </dependency>
    </dependencies>
</project>

lombok也是IDE的一个插件,在编译器编译时通过操作AST(抽象语法树)改变字节码的生成。lombok不像spring中的依赖注入是运行时的特性,而是编译时的特性。