Lombok的基本使用

2024-01-02 04:13:19

一、Lombok的介绍

Lombok,一个Java类库,提供了一组注解,简化POJO实体类开发,SpringBoot目前默认集成了lombok技术,并提供了对应的版本控制,所以只需要提供对应的坐标即可,在pom.xml中添加lombok的坐标。
Lombok是一个通过注解以达到减少代码的Java库。

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
</dependency>

如果是在spring使用Lombok,则需要指定版本。

<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <!--version就是指定你要使用的版本-->
            <version>1.18.12</version> 
</dependency>

二、为什么使用Lombok

  1. 因为lombok可以简化代码的开发,以注解代替繁琐的手写实体类的基本方法。(在没有使用过Lombok之前,我们一般都要手写getter、setter、tostring、构造方法等等)。

  2. 使用步骤:

    • 导入对应的依赖坐标
    • 然后直接使用注解就行

三、常用的Lombok注解

@Data注解

  1. @Data完成一个实体类对应的getter,setter,toString,equals,hashCode等操作的快速添加。
  2. @Data注解相当于同时加上以下注解
    • @Setter :创建setter方法
    • @Getter:创建getter方法
    • @ToString:创建ToString方法
    • @EqualsAndHashCode:创建hashCode、equals、canEqual方法
      在这里插入图片描述

@NoArgsConstructor(无参构造器)

@NoArgsConstructor完成一个实体类对应的无参构造器。如果程序员没有定义构造器,系统会自动给类生成一个默认无参构造器 ( 也叫默认构造器), 一旦定义了自己的构造器 ,默认的构造器就会被覆盖了,就不能再使用默认的无参构造器
在这里插入图片描述

@AllArgsConstructor(全参构造器)

@NoArgsConstructor完成一个实体类对应的全参构造器。(默认的构造器就会被覆盖)
在这里插入图片描述

Lombok还有其他的注解的,用到再去查看就行了

在这里插入图片描述

Lombok使用的注意事项

@Data注解的踩坑,具体情况可以查看这个(这里是引用别人的文章)

  1. 用了 @Data 就不要有继承关系。
  2. 自己重写equals(),lombok不会对显式重写的方法进行生成
  3. 显式使用@EqualsAndHashCode(callSuper = true)。lombok会以显式指定的为准(默认:@EqualsAndHashCode(callSuper = false)。

文章来源:https://blog.csdn.net/weixin_64044840/article/details/135233785
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。