首页 > 编程语言 > 详细

Java Lombok

时间:2020-04-24 15:30:03      阅读:64      评论:0      收藏:0      [点我收藏+]

介绍

Lombok帮助开发者自动生成getter,setter,toString等样板代码

配置依赖

    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.12</version>
      <!-- 只用于编译,不进行打包 -->
      <scope>provided</scope>
    </dependency>

IDEA插件

安装插件让IDEA可以识别Lombok注解,防止检查报错。

技术分享图片

常用注解

IDEA插件下面列出了几乎全部的注解

技术分享图片

@Getter @Setter

创建getter和setter方法。

@Getter @Setter
public class Basic3 {
  private int id;
  private String name;

  public static void main(String[] args) {
    Basic3 basic3 = new Basic3();
    basic3.setId(1);
    basic3.setName("Diana");
    System.out.println(basic3.getId());
    System.out.println(basic3.getName());
  }
}

@ToString

创建toString方法,同时可以指定包括和不包括哪些字段。

@ToString
public class Basic5 {
  private int id;
  private String name;
  @ToString.Exclude private int age;

  public static void main(String[] args) {
    Basic5 basic5 = new Basic5();
    System.out.println(basic5);
  }
}

@RequiredArgsConstructor

创建带参构造,参数包括所有未初始化的final成员和@NonNull修饰的成员。

@RequiredArgsConstructor
public class Basic6 {
  private final int id;
  @NonNull private String name;
  private int age;

  public static void main(String[] args) {
    Basic6 basic6 = new Basic6(1, "Diana");
  }

}

@Data

复合注解:包括@Getter、@Setter、@ToString、@RequiredArgsConstructor和@EqualsAndHashCode

@Data
public class Basic2 {
  private final int id;
  private final String name;
  @NonNull private int age;
  private String role;

  public static void main(String[] args) {
    Basic2 basic2 = new Basic2(1, "Diana", 18);
    basic2.setRole("admin");
    System.out.println(basic2.getId());
    System.out.println(basic2.getName());
    System.out.println(basic2);
  }
}

@Slf4j

自动创建一个Slf4J Logger对象,名称为当前类名。

// Create
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
@Slf4j
public class Basic4 {
  public static void main(String[] args) {
    log.info("hello {}", "info");
  }
}

Java Lombok

原文:https://www.cnblogs.com/Peter2014/p/12767331.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!