从@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor开始了解Lombok插件 - 山月风成的博客 - CSDN博客

创建时间:2019/1/4 10:14
来源:https://blog.csdn.net/qq_37192800/article/details/79785906


版权声明:本文为博主原创文章,基于学习目的非盈利可以转载,表明出处即可。 https://blog.csdn.net/qq_37192800/article/details/79785906

接触Lombok

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsContructor。是Lombok插件三种生成不同构造方法的注解,来完成项目中不同构造方法的需求。

  • @NoArgsConstructor : 生成一个无参数的构造方法
  • @AllArgsContructor: ?会生成一个包含所有变量
  • @RequiredArgsConstructor: 会生成一个包含常量,和标识了NotNull的变量的构造方法。生成的构造方法是私有的private。
  • 主要使用前两个注解,这样就不需要自己写构造方法,代码简洁规范。

看Lombok注解的全貌

Lombok是一个通过注解形式帮助构造简洁、规范的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。
下载地址:
github地址:https://github.com/rzwitserloot/lombok
官方地址:https://projectlombok.org/
官方API : https://projectlombok.org/features/all

在IDEA中使用它的过程

  • 安装
    这里写图片描述

  • Maven项目引入lombok的jar

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.14</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

常用注解介绍

  • @Getter and @Setter
    可以用@Getter / @Setter注释字段(也可以注释到类上的—(在实体类中常用且推荐)),lombok会自动生成默认的Getter/Setter方法。

  • @ToString
    自动生成toString()方法,默认情况,按顺序(以“,”分隔)打印你的类名称以及每个字段。也可以设置不包含哪些字段/@ToString(exclude = {“id”,”name”})

import lombok.ToString;
@ToString(exclude = {"id","name"})
public class User {
  private Integer id;
  private String name;
  private String phone;
}
实际生成的toString()方法
public String toString(){
  return "User(phone=" + phone + ")";
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • @Synchronized
    给方法加上同步锁,建议直接写在代码中Synchronized

参考文章 链接:https://www.jianshu.com/p/365ea41b357 作者:缓慢移动的蜗牛 來源:简书