Java代码简化之lombok


本文目录:

  1. lombok简介
  2. IDEA整合Lombok及使用
  3. Lombok常用注解解释

1. lombok简介

Project Lombok makes java a spicier language by adding ‘handlers’ that know how to build and compile simple, boilerplate-free, not-quite-java code.

即Lombok通过增加一些“处理程序”,可以让java变得简洁、快速。

Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。


2. IDEA整合Lombok及使用


① IDEA整合Lombok

步骤:

  • IDEA界面 --> Files --> Settings -> Plugins --> Browse repositories… --> lombok --> Install
  • 安装后重启IDEA即可。

图示:


② Lombok的简单使用
  1. 在pox中添加依赖。
 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.6</version>           //version自选</dependency>

  1. JavaBean添加注解即可生效。
@AllArgsConstructor
@NoArgsConstructor
@Data
@Accessors(chain = true)
public class Book {//    定义一个entityprivate Integer id;private String bookName;private double price;
}

这样就可以在完成JavaBean的代码编写,BookDemo类就具有了构造器、getter/setter、equals、hashcode、toString方法

如下图:


3. Lombok常用注解解释

  1. @Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
  2. @Setter :注解在属性上;为属性提供 setting 方法
  3. @Setter :注解在属性上;为属性提供 getting 方法
  4. @Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
  5. @NoArgsConstructor :注解在类上;为类提供一个无参的构造方法
  6. @AllArgsConstructor :注解在类上;为类提供一个全参的构造方法
  7. @Cleanup : 可以关闭流
  8. @Builder : 被注解的类加个构造者模式
  9. @Synchronized : 加个同步锁
  10. @SneakyThrows : 等同于try/catch 捕获异常
  11. @NonNull : 如果给参数加个这个注解 参数为null会抛出空指针异常
  12. @Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

其中:@Accessors:注解在类或者属性上;主要用于控制生成的getter和setter。

  • fluent boolean值,默认为false。此字段主要为控制生成的getter和setter方法前面是否带get/set
  • chain boolean值,默认false。如果设置为true,setter返回的是此对象,方便链式调用方法
  • prefix 设置前缀 例如:@Accessors(prefix = “abc”) private String abcAge 当生成get/set方法时,会把此前缀去掉

Java代码简化之lombok相关推荐

  1. 消除冗长Java代码的工具——Lombok详解

    消除冗长Java代码的工具--Lombok详解 文章目录 消除冗长Java代码的工具--Lombok详解 什么是Lombok Lombok的作用 Lombok常用注解 Lombok安装 什么是Lomb ...

  2. Java代码简化之朗母达表达式(Lambda Express)

    Java代码简化之朗母达表达式(Lambda Express) 本文目录: Lambda Express基本概念 Lambda Express的解析 1. Lambda Express基本概念 λ表达 ...

  3. Spring Boot 代码简化利器 lombok

    ▶ IntelliJ IDEA 安装 lombok 插件 1.菜单栏 File > Settings > Plugins > Browse repositories- 2.搜索 Lo ...

  4. 使用 lombok 简化 Java 代码

    lombok 是一个第三方工具,提供了一些注解功能,可以帮助我们消除冗余.臃肿的 Java 代码,比如 POJO 的 getter/setter 方法.构造方法.hashcode 方法等.lombok ...

  5. Lombok 安装、入门 - 消除冗长的 java 代码

    前言:     逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下.     lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码.特别是相对 ...

  6. Java基础学习总结(164)——别让Lombok使你的Java代码处于“亚健康”状态

    如果您正在阅读此文,想必您对Project Lombok已经有了一段时间的了解.您是否正准备拥抱Lombok?还是正准备将如此酷炫的项目推荐给你的团队?如果您准备那么做,不妨听听我在使用Lombok一 ...

  7. Java基础学习总结(38)——Lombok(消除冗长的 java 代码)的使用和原理及安装、入门使用

    前言:     逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下.     lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码.特别是相对 ...

  8. 一分钟快速简化代码,使用Lombok消灭getter、setter和equals方法

    前言 我们在Java项目中会为变量编写大量get/set方法,有没有办法省略不写呢? 这就是Lombok要帮我们做的事情.下面让我们快速了解一下Lombok和Lombok的功能. Lombok是什么? ...

  9. Lombok - 消除冗长的 java 代码

    引入地址:http://www.blogjava.net/fancydeepin/archive/2012/07/12/lombok.html 前言: 到了新公司,在代码中发现了lombok.觉得还可 ...

最新文章

  1. Shell遍历hadoop目录的批量操作
  2. Mail group(转至毅冰)
  3. ElasticSearch优化系列三:机器设置(内存)
  4. NIO 之 Selector实现原理
  5. lightroom最新版本下载_pi最新版本下载教程
  6. Windows下PHP多线程扩展pthreads的安装
  7. mysql如何使用事件_MySQL事件的使用详解
  8. 国产自主可控的嵌入式仿真软件SkyEye和同步数据流语言高阶运算消去的可信翻译
  9. ibatis resultclass java.util.list_mybatis 动态sql返回一个List封装类报错求解决方法
  10. php mktime 时间不对_PHP 语言需要避免的 10 大误区
  11. Spark学习-SparkSQL--01-SparkSQL CLI
  12. oracle net conf启动无反应,weblogic突然无法启动,显示Server state changed to FORCE
  13. C++ STL 一个简单的stack程序
  14. git学习(五)分支操作和解决冲突
  15. android viewholder静态,Android listview viewholder
  16. 数学建模 Lingo 基本算法模板
  17. 机器学习——葡萄酒分类问题(输入与输出维度相同)
  18. Android 传感器篇:(一)方向传感器
  19. 知足知不足 有为有不为
  20. 人工智能——背景知识、知识体系、应用领域

热门文章

  1. iOS:quartz2D绘图 (动画)
  2. Hql中使用in参数
  3. 精通Android3笔记--第四章
  4. 网络服务器预防dos***的层次
  5. 中石油训练赛 - Spiral Matrix(找规律)
  6. CodeForces - 1252G Performance Review(线段树+思维)
  7. 牛客多校2 - Cover the Tree(dfs序)
  8. CodeForces - 387D George and Interesting Graph(二分图最大匹配+暴力)
  9. python pcm 分贝_语音文件 pcm 静默(静音)判断
  10. linux php在线运行环境,Linux安装php运行环境