JavaWeb项目开发中,JavaBean总是不可避免的出现,随之而来的就是大量的getter、setter方法,虽然大部分的开发工具(比如Eclipse等)都支持自动生成这些东西,但是一旦Bean里边的属性多起来,几十上百个甚至更多,这样的话,代码从头拉到尾都要很长时间,一旦需要修改或者其他的操作,都很麻烦,而且更重要的是看着不爽。
现在就有一个讨巧的方法,就是Lombok,项目里边引入Lombok的jar包,就可以省去getter、setter这些烦人的东西,当然这样的话,代码的可读性也会变的很糟糕!不过很少有什么事情是两全其美的,还是看个人喜好啦。。。
首先说下Lombok官方的地址:
Lombok的官方地址:https://projectlombok.org/
Lombok的Github地址:https://github.com/rzwitserloot/lombok
再说下Maven下的配置:
<!-- 增加lombok依赖,用于生成Getter、Setter -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.12.6</version>
<scope>provided</scope>
</dependency>
<!-- lombok插件 -->
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>1.12.6.0</version>
</plugin>
Lombok最重要的就是注解,常用的注解如下:
@Getter: 生成get方法,是类、成员变量注解。
@Setter: 生成set方法,是类、成员变量注解。
@Data: 生成get、set方法、空构造器、toString方法、equals方法、hashCode方法,是类注解。AppLombokDto 类的注解换成@Data试试。
@ToString: 生成toString方法,是类注解。
@EqualsAndHashCode:生成equals方法、hashCode方法,是类注解。
上面这些基本满足平常开发的需求,当然还有很多其他的注解,太麻烦,就不说了。。。
最后总结下Lombok
优点:简洁、方便、逼格高、
缺点:降低了源代码的可读性、完整性,降低了阅读代码的舒适度
具体的效果可以自己试下,体验下。。哈哈哈
转载请注明:李锋镝个人博客 >> http://www.lifengdi.com/article/10052.html
代码精简之Lombok的更多相关文章
-
代码精简工具lombok
Lombok是一种通过注解的方式减少JAVA实体类中大量冗余代码,诸如get.set以及构造方法等的Java库 一.安装Lombok 步骤一 项目引入lombok插件 1 - 非maven依赖托管项目 ...
-
Java 代码精简
Java 代码精简 利用语法 利用三元表达式 普通 String title; if (isMember(phone)) { title = "会员"; } else { titl ...
-
Java代码简化神器-Lombok
一.背景 前段时间在开源社区中发现了一个比较牛逼的简化Java代码的神器-Lombok,接着自己写了demo进行测试和练习,感觉真的很不错,特此分享给需要的小伙伴们~ 二.开发之前的准备 1.lomb ...
-
减少重复代码的书写--Lombok
本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 在开发中,比如我们要写一个modol 实体类 要编写 get.set 这些获取和填值的方法,这样写也没错 ...
-
C#/Net代码精简优化技巧
(一) 在我们写代码的时候可以使用一些小的技巧来使代码变得更加简洁,易于维护和高效.下面介绍几种在C#/Net中非常有用的一些编程技巧. 1 空操作符(??) 在程序中经常会遇到对字符串或是对象判断n ...
-
极简代码神器:Lombok使用教程
Lombok 是一个非常神奇的 java 类库,会利用注解自动生成 java Bean 中烦人的 Getter.Setter,还能自动生成 logger.ToString.HashCode.Build ...
-
【代码工具】Lombok来优雅的编码
前言 Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO).它通过注解实现这一目的. 正文 添加依赖 在 pom.xml ...
-
C#、.Net代码精简优化(空操作符(??)、as、string.IsNullOrEmpty() 、 string.IsNullOrWhiteSpace()、string.Equals()、System.IO.Path 的用法)
一.空操作符(??)在程序中经常会遇到对字符串或是对象判断null的操作,如果为null则给空值或是一个指定的值.通常我们会这样来处理: .string name = value; if (name ...
-
JS初学之-代码精简思路
1.差不多的代码,观察其不一样的地方,使用变量存起来,方便替代. 2.将其存入函数之中方便调用.
随机推荐
-
Nginx如何处理一个请求
看了下nginx的官方文档,其中nginx如何处理一个请求讲解的很好,现在贴出来分享下.Nginx首先选定由哪一个虚拟主机来处理请求.让我们从一个简单的配置(其中全部3个虚拟主机都在端口*:80上监听 ...
-
怎样编写高质量的java代码
代码质量概述 怎样辨别一个项目代码写得好还是坏?优秀的代码和腐化的代码区别在哪里?怎么让自己写的代码既漂亮又有生命力?接下来将对代码质量的问题进行一些粗略的介绍.也请有过代码质量相关经验的朋友 ...
-
如何在ARM中创建Express Route
很早之前就想试试Azure的express route,但是一直没有找到合适的机会,正好有个客户需要上express route,所以最近先自己研究研究,防止在做poc的时候耗费更多时间,本次场景我们 ...
-
搭建一套自己实用的.net架构(4)【CodeBuilder-RazorEngine】
工欲善其事必先利其器, 下面来说说代码生成器. 现在代码生成器品种繁多各式各样, 什么codesmith.T4. 动软也算.那么每款代码生成器都有自己模板解析引擎. 现在比较流行的 NVelocit ...
-
swap分区添加
首先你需要使用命令:dd 来创建一个swapfile,然后你需要使用mkswap命令在设备或者文件中创建一个Linux swap分区a) 使用root用户登陆b) 使用下面的命令创建一个2G的 Swa ...
-
HTTP请求的基本概念 HTTP请求头和响应头的含义
1,HTTP请求的基本概念 TCP/UPD/HTTP *2,HTTP请求头和响应头的含义 请求头: Accept: text/html,image/*(浏览器可以接收的类型) Acc ...
-
使用arcpy.mapping模块批量出图
出图是项目里常见的任务,有的项目甚至会要上百张图片,所以批量出土工具很有必要.arcpy.mapping就是ArcGIS里的出图模块,能快速完成一个出图工具. arcpy.mapping模块里常用 ...
-
how do I get the difference between two R named lists?
aa<- list(a=1, b="two", c=list(3, "four")) bb <- list(a=1, c=list(3, " ...
-
Java的I/O操作
一.概述 Java的IO支持通过java.io包下的类和接口来完成,在java.io包下主要有包括输入.输出两种IO流,每种输入输出流又可分为字节流和字符流两大类.从JDK1.4以后,Java在jav ...
-
ClientDataset 三层 var and out arguments must match parameter
将Delphi升级到10.1.2后,从客户端传ClientDataset的Delta数据到服务端程序时,出现var and out arguments must match parameter错 ...