专栏名称: zhisheng
Java攻城狮
目录
相关文章推荐
芋道源码  ·  MySQL数据实时同步到Elasticsea ... ·  昨天  
芋道源码  ·  300 秒到 4 秒,如何将 MySQL ... ·  昨天  
芋道源码  ·  船新 IDEA 2025.1 要来了,新特性真香! ·  2 天前  
芋道源码  ·  大厂都在用的 Git 代码管理规范 ! ·  4 天前  
芋道源码  ·  我司喜欢40岁程序员 ·  4 天前  
51好读  ›  专栏  ›  zhisheng

Lombok 看这篇就够了

zhisheng  · 掘金  · Java  · 2018-01-08 13:41

正文

转载请注明原创地址:www.54tianzhisheng.cn/2018/01/07/…

mark

前提

自从进公司实习后,项目代码中能用 Lombok 的都用了,毕竟这么好的轮子要充分利用好。也可以减少一些 get/set/toString 方法的编写,虽说 IDEA 的插件可以自动生成 get/set/toString 方法,但是使用 Lombok 可以让代码更简洁。

下面看看如何在 IDEA 中如何安装 Lombok:

安装

打开 IDEA 的 Settings 面板,并选择 Plugins 选项,然后点击 “Browse repositories”

在输入框输入”lombok”,得到搜索结果,点击安装,然后安装提示重启 IDEA,安装成功;

mark

引入依赖

在自己的项目里添加 lombok 的编译支持,在 pom 文件里面添加 dependency

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.18</version>
    <scope>provided</scope>
</dependency>

怎么使用?

在实体类上引入相关的注解就行:

mark

有哪些注解?

  • @Data
  • @Setter
  • @Getter
  • @Slf4j
  • @AllArgsConstructor
  • @NoArgsConstructor
  • @EqualsAndHashCode
  • @NonNull
  • @Cleanup
  • @ToString
  • @RequiredArgsConstructor
  • @Value
  • @SneakyThrows
  • @Synchronized

注解详解

@Data

注解在 上;提供类所有属性的 get 和 set 方法,此外还提供了equals、canEqual、hashCode、toString 方法。

mark

@Setter

注解在 属性 上;为单个属性提供 set 方法; 注解在 上,为该类所有的属性提供 set 方法, 都提供默认构造方法。

mark

mark

@Getter

注解在 属性 上;为单个属性提供 get 方法; 注解在 上,为该类所有的属性提供 get 方法,都提供默认构造方法。

mark

mark

@Slf4j

注解在 上;为类提供一个 属性名为 log 的 log4j 日志对象,提供默认构造方法。

mark

@AllArgsConstructor

注解在 上;为类提供一个全参的构造方法,加了这个注解后,类中不提供默认构造方法了。

mark

@NoArgsConstructor

注解在 上;为类提供一个无参的构造方法。

mark

@EqualsAndHashCode

注解在 上, 可以生成 equals、canEqual、hashCode 方法。

mark

@NonNull

注解在 属性 上,会自动产生一个关于此参数的非空检查,如果参数为空,则抛出一个空指针异常,也会有一个默认的无参构造方法。

mark

@Cleanup

这个注解用在 变量 前面,可以保证此变量代表的资源会被自动关闭,默认是调用资源的 close() 方法,如果该资源有其它关闭方法,可使用 @Cleanup(“methodName”) 来指定要调用的方法,也会生成默认的构造方法

mark

@ToString

这个注解用在 上,可以生成所有参数的 toString 方法,还会生成默认的构造方法。

mark

@RequiredArgsConstructor

这个注解用在 上,使用类中所有带有 @NonNull 注解的或者带有 final 修饰的成员变量生成对应的构造方法。

mark







请到「今天看啥」查看全文