Lombok — Java代码自动生成 开发利器

备注:全文转自:http://www.jiucool.org/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插件的安装

1.png

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

原来的写法:

2.png

Lombok中的写法

3.png

在生成 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

4.png
5.png

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

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

@EqualsAndHashCode

6.png

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lombok简介 Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的...
    缓慢移动的蜗牛阅读 145,361评论 19 124
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,477评论 19 139
  • 对象的创建与销毁 Item 1: 使用static工厂方法,而不是构造函数创建对象:仅仅是创建对象的方法,并非Fa...
    孙小磊阅读 6,225评论 0 3
  • 4月 日,通过参加党委中心组学习,学完了所有规定的篇目。整个学习过程中,我认真学好每一篇文章,做好学习笔记。通过学...
    一米阳光弎寸暖阅读 5,453评论 0 0
  • 一、水库人员安排 今天园山街道水库出动管护人员10人次,安保12人次,巡查车辆:摩托车七辆、电动车四辆。重...
    小白_1d34阅读 1,306评论 0 0