http://www.jiucool.com/lombok-java-eclipse/

最近回家闲暇之余,发现了老外一款不错的工具,决定引入项目当中,这款工具就是Lombok.

一、Lombok是什么

Lombok是一款小巧的代码生成工具。官方网址:http://projectlombok.org/

LomBok主要特性有:自动生成默认的getter/setter方法、自动化的资源管理(通过@Cleanup注解)及注解驱动的异常处理等。目前在国外广泛应用。

LomBok它和jquery一样,目标是让程序员写更少的代码,以及改进一些原始语法中不尽人意的地方。Lombok能做到这一点。既不是用annotations process,也不是用反射。而是直接黑到了编译过程中。所以对运行效率没有任何影响,我们可以通过反编译class文件进行验证。

二、为何项目中要引入Lombok

本人认为主要为以下三点:

1. 提高开发效率

2. 使代码直观、简洁、明了、减少了大量冗余代码(一般可以节省60%-70%以上的代码)

3. 极大减少了后期维护成本

三、Lombok如何使用

目前我们主要采用Eclipse开发,所以以Eclipse为例演示:

1. Lombok在Eclipse上的安装

java -jar lombok.jar

进行Eclipse插件的安装

2. Lombok的使用

Lombok的特色是根据annotation创建一些代码,以减少重复代码的数量,它提供了以下几个annotation:

@Getter和@Setter:为属性创建getter和setter

@EqualsAndHashCode:实现equals()方法和hashCode()方法

@ToString:实现toString()方法

@Data:上述3个annotation的和,会创建getter setter equals hashCode和toString

@Cleanup:关闭流

@Synchronized:对象同步

@SneakyThrows:抛出异常

@Log4j: log4j日志声明

下面,看一些实例吧:

@Getter @Setter

原来的写法:

Lombok中的写法

在生成 getter/setter 方法时,Lombok 遵从传统的标准。所有这些方法名都以 get 或 set 开头并且属性名都是大写的。当然,如果属性是一个 Boolean,情况例外。在这种情况下,getter 以 is 开始,而非 get。这是 Java bean 的一种标准实践;

hashcode 当JavaBean 输出数字;

toString 输出Class 和每个属性的打印列表;

修饰Getter方法的访问权限 
@Getter(AccessLevel.PROTECTED) 修饰getter方法的访问权限 
@Setter(AccessLevel.PROTECTED) 修饰setter方法的访问权限 
@Getter(AccessLevel.PROTECTED) private int size;

@ToString

排除某一个特定字段重写toString方法:

@ToString(exclude="color") 
public @Data class Lure { 
private String name; 
private int size; 
private String color; 
private String style; 
}

@EqualsAndHashCode

等等……使用起来非常方便.

Lombok — Java代码自动生成 开发利器相关推荐

  1. 使用Java代码自动生成工具:Telosys

    在Java开发工具中Java代码自动生成工具是很常见的,代码生成是模型驱动开发中最简单和最常用的技术.我们使用一个信息源,一种模型形式,并将其与一些模板结合起来以获得生成的工件,例如代码. 代码生成是 ...

  2. java代码自动生成的插件_如何使用插件生成自定义Java 8代码

    java代码自动生成的插件 大多数程序员讨厌的一件事就是编写样板代码. 无休止的时间花费在设置实体类和配置数据库连接上. 为了避免这种情况,您可以让Speedment Open Source之类的程序 ...

  3. MCU代码自动生成工具,全面升级

    MCU代码自动生成工具,全面升级 最新版特性如下 1.支持8位.16位.32位的MCU 2.Cubemx无缝对接 3.支持四大类MCU:51单片机.MSP430.STM32.arduino,含正点原子 ...

  4. 用java写ods系统_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo是基于数据库的代码自动生成工具,低代码编程技术的实现,可以零代码自动生成SpringBoot项目工程.生成JavaBean.生成前后端分离的CRUD代码.生成MyBaits的Mapper ...

  5. java生成iso9660工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo_20210212 v7.0.0 正式版发布,此次版本更新如下: 1.新增对DB2数据库的支持 2.新增按字段生成文件,支持把字段.JSON.XML数据转换成任何代码 3.新增大量新的自 ...

  6. java 生成mysql dto_如何根据动态SQL代码自动生成DTO

    当前的状况 一般做数据库相关开发, 除非学习, 否则很少有人愿意直接使用JDBC.本来Java代码就比较啰嗦了,而直接用JDBC写代码之啰嗦简直有些令人发狂!所以在实际开发过程中,我们通常都会使用一些 ...

  7. 解决Mybatis Plus代码自动生成时报错: Caused by: java.lang.ClassNotFoundException: org.apache.velocity.context

    解决Mybatis Plus代码自动生成时报错: Caused by: java.lang.ClassNotFoundException: org.apache.velocity.context.Co ...

  8. Mybatis最入门---代码自动生成(generatorConfig.xml配置)

    [一步是咫尺,一步即天涯] 经过前文的叙述,各位看官是不是已经被Mybatis的强大功能给折服了呢?本文我们将介绍一个能够极大提升我们开发效率的插件:即代码自动生成.这里的代码自动生成包括,与数据库一 ...

  9. Spring Boot (七)MyBatis代码自动生成和辅助插件

    一.简介 1.1 MyBatis Generator介绍 MyBatis Generator 是MyBatis 官方出品的一款,用来自动生成MyBatis的 mapper.dao.entity 的框架 ...

最新文章

  1. SAP EWM Table Overview [转]
  2. JVM优化原理—Java架构师必须要知晓的知识
  3. 搜索引擎分布式爬虫介绍
  4. P7854-「EZEC-9」GCD Tree【构造】
  5. mybatis_user_guide(7) SQL语句构建器类
  6. extern 结构体_选三物质结构高中化学知识模块音频
  7. HTML5 音视频操作
  8. 枚举求解:试把一个正整数n拆分为若干个(不少于2个)连续正整数之和。例如:n=15,有3种拆分:15=1+2+3+4+5,15=4+5+6,15=7+8。 对于给定的正整数n,求出所有符合这种拆分要求
  9. 【零基础学Java】—ArrayList集合概述和基本使用(十四)
  10. Scala实现Mapreduce程序4-----数据去重
  11. PowerDesigner逆向工程,从SQL Server数据库生成Physical Model
  12. 2020年MathorCup数学建模B题养老服务床位需求预测与运营模式研究全过程解题程序及多篇论文
  13. 分享psd格式怎么预览的方法和psd文件缩略图插件
  14. c语言程序中文复制到word变乱码,怎么复制C程序代码到Word不会有乱码,不会有乱字等情况...
  15. 制作淘宝客微信公众号(一)
  16. 操作系统课设详细解答
  17. JavaScript实现变化的满天星星
  18. 服务器带宽10M能带多少人同时访问之并发数计算
  19. 软考-高项-论文-信息系统项目的人力资源管理
  20. 【考研英语语法】形容词副词的比较级最高级练习题

热门文章

  1. 【数据结构与算法】之深入解析“三数之和”的求解思路与算法示例
  2. iOS之给WebView导航栏添加“返回”与“关闭”按钮
  3. Algorithm Master Road:算法的时间/空间复杂度
  4. 2013\Province_Java_A\1.世纪末的星期
  5. 电商三巨头交成绩单,这次拼多多输了吗?
  6. 使用python发送邮件和接收邮件
  7. Exp7 网络欺诈防范
  8. TMS320F28335时钟(1)
  9. 【机器视觉】 else算子
  10. dos命令行设置网络优先级_计算机网络故障及其维修方法