Lombok的基本使用

一、Lombok的介绍

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

<dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
dependency>

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

<dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
            
            <version>1.18.12version> 
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方法
      Lombok的基本使用_第1张图片

@NoArgsConstructor(无参构造器)

@NoArgsConstructor完成一个实体类对应的无参构造器。如果程序员没有定义构造器,系统会自动给类生成一个默认无参构造器 ( 也叫默认构造器), 一旦定义了自己的构造器 ,默认的构造器就会被覆盖了,就不能再使用默认的无参构造器
Lombok的基本使用_第2张图片

@AllArgsConstructor(全参构造器)

@NoArgsConstructor完成一个实体类对应的全参构造器。(默认的构造器就会被覆盖)
Lombok的基本使用_第3张图片

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

Lombok的基本使用_第4张图片

Lombok使用的注意事项

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

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

你可能感兴趣的:(springboot常用的工具,java)