【Spring实战】04 Lombok集成及常用注解

2023-12-24 05:56:13

Lombok 是一款 Java 开发的工具,它通过注解的方式简化了 Java 代码的编写,减少了一大堆样板代码,提高了代码的可读性和可维护性。在本博客中,我们将介绍 Lombok 中的一些常用注解及其用法。

0. 集成

1)Maven 依赖

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

当然也可以使用其他方式,如 Gradle 或者 jar 包等等其他方式

2)安装 idea 插件

在这里插入图片描述

常用的注解:
在这里插入图片描述

1. @Data

它是 Lombok 提供的一个组合注解,它包含了 @Getter@Setter@ToString@EqualsAndHashCode@RequiredArgsConstructor 的功能。使用 @Data 注解可以在类上一次性生成这几个常用的方法,减少了手动书写这些方法的工作量。

官方是这样简述的

在这里插入图片描述

使用方法:

@Data
public class User {
    private Integer id;
    private String name;
    private Integer age;
}

2. @Getter 和 @Setter

它用于自动生成类的 getter 和 setter 方法。

官方是这样简述的

在这里插入图片描述

使用方法:

@Getter
@Setter
public class User {
    private Integer id;
    private String name;
    private Integer age;
}

或者写在字段上

public class User {
    @Getter
    @Setter
    private Integer id;
    @Getter
    @Setter
    private String name;
    @Getter
    @Setter
    private Integer age;
}

3. @NoArgsConstructor,@AllArgsConstructor和@RequiredArgsConstructor

  • @NoArgsConstructor: 自动生成无参构造方法。
  • @AllArgsConstructor: 自动生成包含所有字段的构造方法。
  • @RequiredArgsConstructor: 自动生成包含 final 或被 @NonNull 注解修饰的字段的构造方法。

官方是这样简述的

在这里插入图片描述

使用方法:

@NoArgsConstructor
@AllArgsConstructor
public class User {
    private Integer id;
    private String name;
    private Integer age;
}

4. @ToString

@ToString 注解自动生成 toString 方法。

官方是这样简述的

在这里插入图片描述

使用方法:

@ToString
public class User {
    private Integer id;
    private String name;
    private Integer age;
}

也可以使用 @ToString(exclude = "id") 指定不在 toString 方法中包含 id 字段。

5. @EqualsAndHashCode

@EqualsAndHashCode 注解生成 equalshashCode 方法。

官方是这样简述的

在这里插入图片描述

使用方法:

@EqualsAndHashCode
public class User {
    private Integer id;
    private String name;
    private Integer age;
}

也可以使用 @EqualsAndHashCode(of = "id") 指定仅包含 id 字段用于生成 equalshashCode 方法。

6. @NonNull

@NonNull 注解用于标记字段为非空,生成相应的 null 检查和抛出 NullPointerException 的代码。

使用方法:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    @NonNull
    private Integer id;
    private String name;
    private Integer age;
}

代码中的 @NonNull 注解表示 id 字段不能为空,生成了相应的 null 检查。

7. @Builder

@Builder 注解用于生成 Builder 模式的代码,方便创建对象时进行链式调用。

官方是这样简述的

在这里插入图片描述

使用方法:

@Builder
public class User {
    private Integer id;
    private String name;
    private Integer age;
}

上述代码中,使用 @Builder 注解后,可以通过 User.builder().id(1).name("cheney").age(18).build() 创建 User 对象。

总结

以上是一些常用的 Lombok 注解及其用法。Lombok 提供了许多其他有用的注解,可以根据实际需求选择使用。使用 Lombok 可以有效地减少冗长的代码,提高代码的清晰度和可读性。

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