eclipse lombok插件安装_如果你是Java架构师或项目经理,项目技术会允许使用Lombok吗?
Lombok
Lombok项目是一个Java库,通过注解,来消除Java类中的大量样板代码。比如常见的Getter&Setter、toString()、构造函数等等。
看个例子,以前我们构建一个java是实体类的做法,
public class Entity {private int id; private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;} }
每个实体类都有着get和set方法,可能还要加上构造方法、equals、hash等方法,这些代码就是上述所说的样板代码。那么Lombok是怎么做的呢,如下,
@Datapublic class Entity {private int id; private String name; }
我们看下生成了什么方法,本人使用的eclipse,ctrl+o 查看就行了。
是不是都有了。你可以去看下Lombok包下面,还有很多的注解使用。除了类上,再多说几个例子,感受下它的魅力。
@NonNull:可以用来避免空指针,比如构造方法的入参。
public Entity(int id, @NonNull String name) {this.id = id;this.name = name;}
@Cleanup:通常用于流的关闭作用,如
@Cleanup FileInputStream inStream = new FileInputStream(in);
@AllArgsConstructor:生成全参构造函数。
。。。。。。。
哇!太方便了,以后项目都用它了!
建议点
上面说了Lombok的优势,确实帮我们平常开发节省了很多代码。但是每个东西的存在必然是双面的,不存在完美的说话。
1、Lombok的使用是必须要安装插件的,如果有一个同事使用了Lombok并安装了插件,那不好意思,其他的同事你得必须要安装,要不然你拉取代码 run就报错,编译失败。
2、作为分布式项目,如果有一个项目中使用了Lombok打成jar包供其他的项目去使用,那你其他的项目也得安装Lombok插件,对项目的侵入性高。
3、Lombok给我们生成的set和get等方法是在编译阶段才给生成的,在开发过程中有代码的缺失,可能查找问题不是很方便。
4、JDK的升级,如果出现的特性在Lombok中不支持,那会有影响的,所以不要使用了Lombok的不要盲目的升级 JDK。
。。。。你们还有遇到什么其他的问题吗
上面总结了Lombok的优缺点,使用上方便了,并不能说明没有问题存在。
所以在项目的开发过程中,我不是不推荐大家使用,最重要的是要去评估它带来的问题,可以的话就去用吧。
eclipse lombok插件安装_如果你是Java架构师或项目经理,项目技术会允许使用Lombok吗?相关推荐
- 马士兵java框架_马士兵java架构师
马士兵java架构师 开始讨论缓存之前,让我们先来讨论讨论另外一个问题:理论和实践.从ahuaxuan接触的程序员来看,有的程序员偏实践,有的程序员偏理论,但是这都是不好的行为,理论和实践同样重要,我 ...
- eclipse lombok插件安装_你干啥的?Lombok
01.Lombok 的自我介绍 Lombok 在官网是这样作自我介绍的: Project Lombok makes java a spicier language by adding 'handler ...
- eclipse lombok插件安装_便捷开发,解放双手,lombok插件
lombok是一款Java实用工具,可用来帮助开发人员消除Java的冗长,尤其是对于简单的Java对象(POJO). 在实际开发中,是不是发现经常需要变更model类.vo类.dto等一些实体类,随便 ...
- idea lombok插件安装_开发效率不高?墙裂推荐这十款精选 IntelliJ IDEA 插件
作者 | 雷架来源 | 爱笑的架构师(ID:DancingOnYourCode) 头图 | CSDN 下载自东方IC 俗话说:"工欲善其事必先利其器",小主从项目实战的角度在众多的idea插件中挑选 ...
- 年薪百万的java架构师跟普通程序员的技术水平差距在哪里?
前几天在论坛看到这么一个问题,搞Java的程序员年薪40w是什么水平?一下勾起了小编的兴趣,今天就来简单分析下,到底是个什么水平. 税前还是税后? 那么我们先来搞清楚,年薪40W,这个是税前还是税后. ...
- java trimleft函数_常用函数-Java架构师必看
Abs(number) 取得数值的绝对值. Asc(String) 取得字符串表达式的第一个字符ASCII 码. Atn(number) 取得一个角度的反正切值. CallByName (object ...
- java crm视频,Java架构师进阶篇CRM项目视频教程
├源代码.rar ├<01_CRM项目> │ ├<0908> │ │ ├ │ │ │ ├01-crm介绍.avi │ │ │ ├02-crm框架.avi │ ...
- java 分布式 redis缓存技术_JAVA架构师系列课程分布式缓存技术Redis权威指南,资源教程下载...
课程名称 JAVA架构师系列课程分布式缓存技术Redis权威指南,资源教程下载 课程目标 本课程从0基础开始,对redis的方方面面进行细粒度的讲解:包括基础操作.高级命令.各种集群模式.动态增减节点 ...
- Java架构师和java工程师的区别是什么?架构师薪资是多少?
java架构师,现在很多新手都知道的名词,这个职位最早在IT领域是没有的,是由于最近几年来,互联网的迅猛发展,网站对于对数据量和高并的活跃度发所引发的需求,引起了众多传统的技术人员的力不从心,越来越多 ...
最新文章
- 【转】UIColor对颜色的自定义
- 一个html文件放到服务器访问,访问云服务器里面的html文件
- android中matrix的单位,Android中canvas和matrix之间的关系是什么?
- 神策“营销云·微信生态”全面开放,限时免费申请通道开启!
- C++words search单词搜索的算法实现(附完整源码)
- Synchronized结合Java Object对象中的 wait,notify,notifyAll
- Sonar-project.properties配置
- scp跨主机拷贝工具
- 为旗下硬件产品服务,LG推出基于SLAM技术的3D摄像头
- 【轻量级网络】MobileNet-v2详解
- Emacs编辑Nginx
- 计算器代码编程c#语言,C#计算器编写代码
- 必须重新启动计算机才能更改应用,必须重新启动计算机才能应用这些更改
- 面向工业物联网的拍赫兹通信
- docker查看映射端口
- ReadFile WriteFile DO_DIRECT_IO 中的IRP操作
- ngrok 使用-国外版
- 《木偶奇遇记》读后感
- 工业智能网关BL110应用之30:实现三菱 PLC FX3U 接入亚马逊云平台
- java wmf 转 svg_java处理word公式(wmf格式转换成svg)
热门文章
- c语言中预处理指令的作用,C语言中常用预处理指令
- window mysql proxy_window下mysql-proxy简单使用
- C语言包含头文件时:#include< > 与 #include ““的区别
- python 虚拟环境 virtualenv virtualenvwrapper的使用方法、命令
- python中yield函数的作用?
- 【深度学习的数学】接“2×3×1层带sigmoid激活函数的神经网络感知机对三角形平面的分类训练预测”,输出层加偏置b
- 【深度学习的数学】超平面是什么?(自由度比空间维度小1)
- yolo-v2 v3实现笔记 mAP:mean average precision 平均精度均值
- centos7 安装rabbitMq
- c++ 结构体构造函数使用总结 附一道经典模拟题