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 注解可以在类上一次性生成这几个常用的方法,减少了手动书写这些方法的工作量。
官方是这样简述的
使用方法:
@Datapublic class User {private Integer id;private String name;private Integer age;} 2. @Getter 和 @Setter它用于自动生成类的 getter 和 setter 方法。
官方是这样简述的
使用方法:
@Getter@Setterpublic class User {private Integer id;private String name;private Integer age;}或者写在字段上
public class User {@Getter@Setterprivate Integer id;@Getter@Setterprivate String name;@Getter@Setterprivate Integer age;} 3. @NoArgsConstructor,@AllArgsConstructor和@RequiredArgsConstructor @NoArgsConstructor: 自动生成无参构造方法。@AllArgsConstructor: 自动生成包含所有字段的构造方法。@RequiredArgsConstructor: 自动生成包含 final 或被 @NonNull 注解修饰的字段的构造方法。官方是这样简述的
使用方法:
@NoArgsConstructor@AllArgsConstructorpublic class User {private Integer id;private String name;private Integer age;} 4. @ToString@ToString 注解自动生成 toString 方法。
官方是这样简述的
使用方法:
@ToStringpublic class User {private Integer id;private String name;private Integer age;}也可以使用 @ToString(exclude = "id") 指定不在 toString 方法中包含 id 字段。
5. @EqualsAndHashCode@EqualsAndHashCode 注解生成 equals 和 hashCode 方法。
官方是这样简述的
使用方法:
@EqualsAndHashCodepublic class User {private Integer id;private String name;private Integer age;}也可以使用 @EqualsAndHashCode(of = "id") 指定仅包含 id 字段用于生成 equals 和 hashCode 方法。
6. @NonNull@NonNull 注解用于标记字段为非空,生成相应的 null 检查和抛出 NullPointerException 的代码。
使用方法:
@Data@NoArgsConstructor@AllArgsConstructorpublic class User {@NonNullprivate Integer id;private String name;private Integer age;}代码中的 @NonNull 注解表示 id 字段不能为空,生成了相应的 null 检查。
7. @Builder@Builder 注解用于生成 Builder 模式的代码,方便创建对象时进行链式调用。
官方是这样简述的
使用方法:
@Builderpublic 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 可以有效地减少冗长的代码,提高代码的清晰度和可读性。