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

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 可以有效地减少冗长的代码,提高代码的清晰度和可读性。

  • 28
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值