作者:sbin
链接:https://www.zhihu.com/question/42348457/answer/110177314
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。

拿lombok官网的一个例子来说:

public class Mountain{private String name;private double longitude;private String country;
}

要使用这个对象,必须还要写一些getter和setter方法,可能还要写一个构造器、equals方法、或者hash方法.这些方法很冗长而且没有技术含量,我们叫它 样板式代码.
lombok的主要作用是通过一些注解,消除样板式代码,像这样:

@Data
public class Mountain{private String name;private double longitude;private String country;
}

然后可以看到这个类自动生成了这些方法<img src="https://pic3.zhimg.com/50/a2bed7a1f670361d93f1c51208d200fe_hd.png" data-rawwidth="563" data-rawheight="364" class="origin_image zh-lightbox-thumb" width="563" data-original="https://pic3.zhimg.com/a2bed7a1f670361d93f1c51208d200fe_r.png">
如果觉得@Data这个注解有点简单粗暴的话,Lombok提供一些更精细的注解,比如@Getter,@Setter,(这两个是field注解),@ToString,@AllArgsConstructor(这两个是类注解).
这些可能是最常见的用法,更详细的用法可以看 Lombok feature overview这里.
------------------------------------以上是lombok的一些功能--------------------------
lombok既是一个IDE插件,也是一个项目要依赖的jar包.
lombok是依赖jar包的原因是因为编译时要用它的注解.是插件的原因是他要在编译器编译时通过操作AST(抽象语法树)改变字节码生成.也就是说他可以 改变java语法. 他不像spring的依赖注入或者hibernate的orm一样是运行时的特性,而是编译时的特性.

lombok的简单粗暴的作用相关推荐

  1. matlab求傅里叶级数展开式_简单粗暴傅里叶级数

    简单粗暴傅里叶级数 楠木wnn2000@hust.edu.cn 为什么写本文? 作为笔记. 为什么给文章取这个名字? 前段日子拜读过某pku学霸的<简单粗暴 TensorFlow>.这篇教 ...

  2. linux卸载android studio,mac上完整卸载删除.简单粗暴无脑:androidstudio删除方案

    如果你是mac  ,你删除as ,删不干净也正常,你会发现安装的时候,前面的东西也在.配置文件在,会导致你以前的错误不想要的东西都在. 废话不多说,复制粘贴就是干!!!!~~~~~~~~ 第一步: 复 ...

  3. FreeMind:简单粗暴完成一份思维导图

    FreeMind:简单粗暴完成一份思维导图 快捷键 FreeMind 下载安装 快捷键 插入新的子节点 Insert 新的平行节点(下方) Enter 新的平行节点(上方) Shift+Enter 修 ...

  4. 一起撸个简单粗暴的Tv应用主界面的网格布局控件(下)

    上一篇中我们已经一起学了怎么简单粗暴的撸个支持动态布局的网格控件出来,但在上一篇的介绍中,并没有学习实现网格控件的滑动效果,所以本篇就来讲讲,要如何让我们的网格控件可以支持自定义滑动策略. 效果 图一 ...

  5. 在简单粗暴中堕落的广告行业

    众所周知,电商.游戏和广告,是最赚钱的三个行业.(其实还有个金融,但不是谁都能玩的.) 对于普通大众来说,电商让大家购物更方便,游戏能带来消遣,只有广告让人烦. 当然,广告本身并非一无是处,对商家来说 ...

  6. 简单粗暴上手TensorFlow 2.0,北大学霸力作,必须人手一册!

    (图片付费下载自视觉中国) 整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) [导读] TensorFlow 2.0 于近期正式发布后,立即受到学术界与科研界的广泛关注与好评.此前 ...

  7. 谷歌简单粗暴“复制-粘贴”数据增广,刷新COCO目标检测与实例分割新高度

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 近日,谷歌.UC伯克利与康奈尔大学的研究人员公布了一篇论文 Sim ...

  8. 一起学spring--依赖注入---简单粗暴的例子展示

    欢迎进入<一起学spring>系列博文第二篇, 我们接着上一篇博文'我的第一个spring程序--简单粗暴易懂',我们讲到spring的依赖注入中的设值注入,所谓的设值注入,就是让spri ...

  9. 使用python用什么软件-Python读写Excel表格,就是这么简单粗暴又好用

    Python读写Excel表格,就是这么简单粗暴又好用 2019-04-18 13:45:31 11点赞 107收藏 1评论 最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开 ...

最新文章

  1. STM32-I2C总线驱动程序分析
  2. linux 字符串转换函数 simple_strtoul 简介
  3. 012_Spring Data Redis
  4. 一个简单的插件框架示例
  5. 一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇(含答案)
  6. Centos6.4 为用户添加sudo功能
  7. 服务器任务管理器详细信息,任务管理器服务器主机
  8. 【AngularJS】—— 2 初识AngularJs(续)
  9. 计算机硬件统的构成,计算机硬件统的构成部件.ppt
  10. Objective-C基础语法高速入门
  11. img文件编辑_只会用chmod 777?Linux下的文件权限居然还有这么多骚操作
  12. 阶乘和(信息学奥赛一本通-T1173)
  13. python都能做什么图_如何学习数据分析
  14. python listdir报错_Python常见十六个错误集合,你知道那些?
  15. python_环境测试
  16. telnet服务器响应慢,交换机s10508 telnet登录后上反应慢
  17. Stoer-Wagner无向图全局最小割(hduoj 3691 Nubulsa Expo)
  18. Modbus通用数据读取工具设计及使用
  19. nodejs如何运行JavaScript代码
  20. sql注入检测工具 mysql_SQL注入测试

热门文章

  1. VMWare Workstation:局域网PC连接虚拟机里的远程桌面或端口
  2. Python方便又强大的日志记录器——loguru
  3. 写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一格空格。如输入1990,应输出”1 9 9 0“
  4. python切割图片
  5. python与c语言的区别-Python和c语言的主要区别在哪
  6. linux中chgrp参数,技术|chgrp 和 newgrp 命令简介
  7. 自己写视频播放器(QT)
  8. 计算机网络中的IBM,上古神机回顾 IBM早期计算机内存仅1Mb
  9. CSUST2020集训队选拔赛题解
  10. 查看RAID硬盘信息MegaCli安装