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

lombok 的官方网址:http://projectlombok.org/

lombok 其实到这里我就介绍完了,开个玩笑,其实官网上有 lombok 三分四十九秒的视频讲解,里面讲的也很清楚了,而且还有文档可以参考。
在这里我就不扯太多,先来看一下 lombok 的安装,其实这个官网视频上也有讲到啦

lombok 安装
    使用 lombok 是需要安装的,如果不安装,IDE 则无法解析 lombok 注解。先在官网下载最新版本的 JAR 包,现在是 0.11.2 版本,我用的是 0.11.0
    第一次使用的时候我下载的是最新版本的,也就是我现在用的 0.11.0,到现在已经更新了两个版本,更新的好快啊 ... ...

1. 双击下载下来的 JAR 包安装 lombok
    我选择这种方式安装的时候提示没有发现任何 IDE,所以我没安装成功,我是手动安装的。如果你想以这种方式安装,请参考官网的视频。

2.eclipse / myeclipse 手动安装 lombok
    1. 将 lombok.jar 复制到 myeclipse.ini / eclipse.ini 所在的文件夹目录下
    2. 打开 eclipse.ini / myeclipse.ini,在最后面插入以下两行并保存:
        -Xbootclasspath/a:lombok.jar
        -javaagent:lombok.jar
    3.重启 eclipse / myeclipse

lombok 注解:
    lombok 提供的注解不多,可以参考官方视频的讲解和官方文档。
    Lombok 注解在线帮助文档:http://projectlombok.org/features/index.
    下面介绍几个我常用的 lombok 注解:
        @Data   :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
        @Setter:注解在属性上;为属性提供 setting 方法
        @Getter:注解在属性上;为属性提供 getting 方法
        @Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
        @NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
        @AllArgsConstructor:注解在类上;为类提供一个全参的构造方法

下面是简单示例
    1.不使用 lombok 的方案

1
2publicclassPerson {
 3
 4    private String id;
 5    private String name;
 6    private String identity;
 7    private Logger log = Logger.getLogger(Person.class);
 8    
 9    public Person() {
10        
11    }
12    
13    public Person(String id, String name, String identity) {
14        this.id              = id;
15        this.name       = name;
16        this.identity  = identity;
17    }
18    
19    public String getId() {
20        return id;
21    }
22    
23    public String getName() {
24        return name;
25    }
26    
27    public String getIdentity() {
28        return identity;
29    }
30    
31    public void setId(String id) {
32        this.id = id;
33    }
34    
35    public void setName(String name) {
36        this.name = name;
37    }
38    
39    public void setIdentity(String identity) {
40        this.identity = identity;
41    }
42}
43

2.使用 lombok 的方案

1
2@Data
3@Log4j
4@NoArgsConstructor
5@AllArgsConstructor
6publicclassPerson {
 7
 8    private String id;
 9    private String name;
10  private String identity;
11    
12}
13

上面的两个 java 类,从作用上来看,它们的效果是一样的,相比较之下,很明显,使用 lombok 要简洁许多,特别是在类的属性较多的情况下,
同时也避免了修改字段名字时候忘记修改方法名所犯的低级错误。最后需要注意的是,在使用 lombok 注解的时候记得要导入 lombok.jar 包到工程

转载于:https://www.cnblogs.com/lashwang/p/3729653.html

Lombok 安装、入门 - 消除冗长的 java 代码相关推荐

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

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

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

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

  3. MongoDB最简单的入门教程之三 使用Java代码往MongoDB里插入数据

    前两篇教程我们介绍了如何搭建MongoDB的本地环境. 这篇教程我们会介绍如何使用Java代码来连接MongoDB. 如果您是基于Maven进行依赖管理的Java项目,只需要在您的pom.xml里加入 ...

  4. Hadoop入门(10)_通过java代码实现从本地的文件上传到Hadoop的文件系统

    2019独角兽企业重金招聘Python工程师标准>>> 第一步:首先搭建java的编译环境.创建一个Java Project工程,名为upload. 第二步:选中所需的Jar包.   ...

  5. java年利润编程题_[编程入门]利润计算-题解(Java代码)

    ![](/image_editor_upload/20200216102044_14158.png)这也是简单的分类问题,用if进行分类后就可以用switch进行分类计算利润 代码如下: packag ...

  6. adobe reader java_请问,如何用JAVA读PDF文件在浏览器中显示,不需要在本地系统中安装Adobe Reader。求java代码...

    JAVA读PDF可以实现,重点是如何在网页中显示PDF文件,而且不需要安装AdobeReader.没有安装AdobeReader,在网页显示PDF文件时,浏览器会提示下载.请问如何在网页中显示PDF文 ...

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

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

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

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

  9. Lombok学习笔记— 消除冗余java代码

    2019独角兽企业重金招聘Python工程师标准>>> lombok官网:http://projectlombok.org/ lombok开源中国连接:http://www.osch ...

最新文章

  1. iOS架构-静态库.framework之依赖第三方库(7)
  2. IO:Reactor和Proactor的区别
  3. 仿射变换 c语言,c语言数字图像处理(三):仿射变换
  4. Python中使用wordcloud生成漂亮的中文词云
  5. 后端:死磕18个Java8日期处理,工作必用!
  6. Shell 控制并发
  7. .NET Core快速入门教程 1、开篇:说说.NET Core的那些事儿
  8. scala 访问修饰符_Scala中的访问修饰符
  9. python清空语句_怎么清除python编译器的语句
  10. 爬虫python下载电影_python爬虫:抓取下载电影文件,合并ts文件为完整视频
  11. android dialogfragment 简单,使用DialogFragment
  12. WM_CREATE消息响应函数和WM_INITDIALOG消息响应函数之区别
  13. IE浏览器打开闪退,崩溃的场景重置
  14. 换ip 电脑ip切换 ip修改 支持xp win7 win10
  15. python控制电机转动_使用python,通过串口ROS直接控制电机驱动器(6)
  16. flash 围棋_中国卫视执白0.5目胜flash77
  17. 宽带连接自动断开是怎么回事?
  18. 主机win10与虚拟机win7相互ping通方法
  19. SessionFactory的用法
  20. Transformer课程 第8课NER案例代码笔记-部署简介

热门文章

  1. day3_python学习笔记_chapter5_数字
  2. 开发和使用Web用户控件
  3. eclipse——jsp字体设置
  4. FTP服务(3)实现基于文件验证的vsftpd虚拟用户
  5. python中二维数组的建立,输入和输出
  6. Esper系列(十二)Variables and Constants
  7. SAP FI模块与SD、MM的接口配置基本方法
  8. 怎样做反向域名解析?
  9. 图片指定区域根据rgb值计算出对应的坐标地址_【水文】震惊!高考期间,这位学生居然能通过图片隐写实现文字通信!...
  10. hdu1529 差分约束(好题)