lombok

什么是lombok

  • 是一款小巧的代码生成工具
  • 自动生成 gettersetter 方法
  • 提高开发效率
  • 代码简洁,直观,减少大量冗余代码
  • 减少后期的维护成本

安装lombok

  • eclipse 中安装 lombok 插件
  • 为了让 eclipse 认识 lombok 语法

安装方式

  • 进入到 cmd 命令行下,运行 jar 包,输入如下命令:
  • 输入如下命令之前你必须在 lombok 文件目录当中不然运行的时候找不到对应的包
  • 这都是计算机的基本知识了我就不在一一说明了
  • 并且选择指定的 eclipse
java -jar lombok.jar

安装jar包原理

intellij IDEA中安装

注意: 默认在idea中是不支持lombok语法的, 写上之后没有任何效果, 需要在idea中额外安装插件才可以继续使用lombok

Plugins → 搜索 lombok 下载安装,安装完成重启 idea即可

安装完成之后出现如下问题的解决方案

解决方案如下图所示:

导入 lombok 的 jar 包

方式 One

  • 直接把 jar 包拷贝到工程当中

  • 然后编译一下,buildPath

  • 这种方式的弊端,每一个工程都要拷贝一下这个 jar

方式 Two

  • 把经常用的 jar 放到某一个地方,每一次要用,直接引用就行
  • 右键工程 → Buildd Path → Config Build Path → Add Libraries

  • 在弹出的对话框当中选择 User Library 用户自己的库

  • 进入到添加界面,点击右侧添加,新建一个仓库,给仓库起一个名称

  • 选择刚新建的仓库,点击右侧添加 jar 包,找到 lombok 对应的 jar 包地址

  • 然后就是使用 jar 包了

使用lombok

  • 在类上添加注解,注解有如下 常用注解 注解:
注解名称 作用
@Data 添加该注解就相当于同时加上以下注解 @Setter @Getter @ToString @EqualsAndHashCode,作用于类中
@Setter 作用于属性上,自动生成 set 方法,也可直接作用于类上,代码全部属性都添加
@Getter 作用于属性上,自动生成 get 方法,也可直接作用于类上,代码全部属性都添加
@ToString 生成 toString 方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号进行分割
@EqualsAndHashCode 生成 equalshascode 方法
@NoArgsConstructor 生成无参构造器
@AllArgsConstructor 生成全参构造器
@Accessors 用在类上, 用来给类中set方法开启链式调用 chain属性: 用来指定是否开启SET方法链式调用 true 开启 false 不开启
@Slf4j 用在类上, 用来快速给类中定义一个日志变量
@Builder 用在类上,可以链式的构建JavaBean
@RequiredArgsConstructor 生成包含必须参数的构造函数,使用 @NonNull 注解的类属性为必须参数
@UtilityClass 标记静态方法类,final 类,自动生成一个私有无参构造函数,方法、内部类、变量 标记成 statis
  • 使用方式如下:

/**
 * @author: BNTang
 **/
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@AllArgsConstructor
public class Goods {

    @Getter
    private String goods_name;

    @Setter
    private String goods_price;
    private Date goods_date;
}
  • 当然 @Getter @Setter 注解也可以放在类上面,代码所有属性都需要生成 Get,Set 方法

@Slf4j

在对应类上加入这个注解相当于在这个类中声明了一个日志对象如下所示:

private Logger log = LoggerFactory.getLogger(this.getClass());

然后你就可以使用这个日志对象进行打日志了。

@Accessors

用在类上, 用来给类中set方法开启链式调用 chain属性: 用来指定是否开启SET方法链式调用 true 开启 false 不开启

@Data
@Accessors(chain = true)
public class User {
    private String id;
    private String name;
    private Integer age;
    private Date bir;
}

User user = new User();

user.setId("21").setName("BNTang").setAge(23).setBir(new Date());

@Builder

用在类上,可以链式的构建JavaBean

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

User user = User.builder().id("21").name("BNTang").age(23).bir(new Date()).build();

lombok 的原理

参考资料

posted @ 2020-10-24 14:36  BNTang  阅读(342)  评论(0编辑  收藏  举报