用Lombok代码自动生成Java代码 节约开发时间

一、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

 

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

时间: 2024-07-31 21:02:33

用Lombok代码自动生成Java代码 节约开发时间的相关文章

求一款自动生成java代码调用序列的eclipse插件

问题描述 求一款自动生成java代码调用序列的eclipse插件 我们知道java代码对于一个特定输入有一个调用序列,比如当前程序运行到A类,在A类中调用callB.b()进入B类,在B类中调用callC.c()进入C类等等. 有没有一款好的eclipse插件能够生成这种调用序列?

自动生成代码-自动生成spring代码工具

问题描述 自动生成spring代码工具 有没有自动生成SPRING的代码工具? 能够自动生成pojo,dao,control,service, 我看到网上有个spring roo工具,但是感觉不好用. 解决方案 是自动生成Dao,Action,Service,Controller之类的吧? 解决方案二: 这种工具不知道有没有开源的,不过很多公司可能都有自己的一套. 我们公司也有,不过只有给你讲一下大概的思路. 该工具一般由以下几部分组成:读取数据库的数据表结构的功能,模板引擎(如:freemar

java web项目代码自动生成插件发布

问题描述 Lazy3q是飞啊飘啊于2011年开始开发的开源的javaweb项目代码自动生成基于eclipse的插件,可以成所有的java代码.项目配置.前端页面,理想情况下,无需任何编码,即可生成一个完整的javaweb项目,并且支持当前多个流行的框架(struts-spring-hibernate.springmvc-hibernate.struts-spring-ibatis.springmvc-ibatis)详情请见http://www.lazy3q.com

使用xsl来动态生成java代码

动态 xsl本身就是一个构型良好的xml,它能够把一个xml文档转换成另外一个xml文档,或者转换成文本文件.html文件等等.这里就是利用xsl来动态的生成我们想要的java文件(从某种角度看,java代码其实也就是一个文本文件),希望能够通过这篇文章,看到xml以及相关的技术所具有的强大能力! 这里首先给一个xml例子,我们将通过一个xsl从该xml文件中抽取有用的信息来生成java代码(实际上是一个javabean): 以下内容为程序代码<?xml version="1.0"

《ANTLR 4权威指南》——第3章 入门的ANTLR项目 3.1 ANTLR工具、运行库以及自动生成的代码

第3章 入门的ANTLR项目 作为我们的第一个ANTLR项目,我们会构造一个语法,它是C语言或其继承者Java语法的一个很小的子集.具体来说,我们将识别包裹在花括号或者嵌套的花括号中的一些整数,像是{1, 2, 3}和{1, {2, 3}, 4}这样.这样的结构可以作为int数组或者C语言中的结构体的初始化语句.在很多情况下,针对这种语法的语法分析器都非常有用.例如,我们可以用它来构建一个对C语言的源代码进行重构的工具,这个工具能够完成这样的工作:如果初始化语句中所有的整数值都能用一个字节表示,

《ANTLR 4权威指南》——3.1节ANTLR工具、运行库以及自动生成的代码

3.1 ANTLR工具.运行库以及自动生成的代码 在开始前,我们先浏览一下ANTLR的jar包中的内容.在ANTLR的jar包中存在两个关键部分:ANTLR工具和ANTLR运行库(运行时语法分析)API.通常,当说到"对一个语法运行ANTLR"时,我们指的是运行ANTLR工具,即org.antlr.v4.Tool类来生成一些代码(语法分析器和词法分析器),它们能够识别使用这份语法代表的语言所写成的语句.词法分析器将输入的字符流分解为词法符号序列,然后将它们传递给能够进行语法检查的语法分

eclipse自动生成的代码有问题

问题描述 eclipse自动生成的代码有问题 在eclipse中,新建一个Android项目,之后自动生成的代码有好多问题,求解啊. 解决方案 Android Sdk版本的问题 选择新建最大最小兼容问题 解决方案二: eclipse自动生成client代码的问题eclipse中由代码自动生成UML图eclipse利用HibernateSynchronize自动生成代码 解决方案三: eclipse自动生成client代码的问题eclipse中由代码自动生成UML图eclipse利用Hiberna

使用ant工具生成java代码时build failed,总是提示找不到第二张图的东西

问题描述 使用ant工具生成java代码时build failed,总是提示找不到第二张图的东西

编程-代码自动生成工具的具体讲解

问题描述 代码自动生成工具的具体讲解 求问大神有哪些代码自动生成工具?以及代码自动生成工具利用的局限性或者利弊? 请大神能不能详细讲解一下!