一,前言

lombok是什么?lombak是一个工具,主要用来简化,减少代码的编写。使代码看起来更清晰,简洁。

而且lombok只是一个工具,不会打包到war中,不会增加任何消耗。只是在编译期中帮助我们完成额外的工作。

例如getter/setter的编写,构造器,tostring方法等。

同时。lombok可以通过@Builder注解,让类可以拥有使用【.】操作符连续调用的形式进行赋值。

二,lombok插件的安装

想要使用lombok,需要两个步骤:

  1,针对开发工具,添加lombok插件。

  2,针对工程项目,添加lombok的jar包依赖。

这里就首先在为idea安装lombok插件。

File -> Settings打开设置界面,然后

稍等片刻后,插件会安装成功。

但是有的时候,因为网络等原因,等了了很久,最后提示我们安装失败。

不要担心,在文章:https://blog.csdn.net/shmily_lsl/article/details/80689307,中给出了 一个离线安装的方法。亲测可用。

三,添加lombok的jar包依赖

我比较喜欢使用maven来管理项目,所以我挑选了在将maven项目到入到idea中中做为导入示例的工程:webdemo2.。

打开项目的pom.xml文件,并在dependencies中添加

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>provided</scope>
</dependency>

然后点击:

到这里,准备工作就完成了,接下来看一个简单的例子

四,一个简单的例子

写几行简单的代码:

package com.zcz.webdemo2;
import lombok.Getter;
import lombok.Setter;
public class Person { @Setter
@Getter
private String name; public boolean isRight; private static final String phone = "15236****70";
}

然后我们运行,mvn package。

找到Person.class并反编译,反编译后的代码:

是不是惊奇的发现在源代码中我并没有编写name的getter和setter方法,但是通过反编译class文件可以发现却有getter和setter方法。

没错就是

@Setter
@Getter
这两个注解引起的。
同事这也是lombok的魅力所在。

原创不易,转载请声明出处:https://www.cnblogs.com/zhangchengzi/p/9925445.html 

最新文章

  1. python小知识积累
  2. 用纯CSS创建一个三角形
  3. ZendGuardLoader安装
  4. MSTest、NUnit、xUnit.net 属性和断言对照表
  5. php-001-win7 环境下 wamp 的至简部署
  6. Kafka+Storm+HDFS整合实践
  7. [CSS]元素的显示与隐藏
  8. jquery的一些技巧总结
  9. 在KALI LINUX中安装JAVA JDK
  10. java转换字符串的编码(转)
  11. Filter - Surge.js模板引擎过滤器
  12. 用python调用R做数据分析-准备工作
  13. quick-cocos2d-x游戏开发【7】——scheduler 定时器
  14. Oracle / PLSQL函数 - NUMTODSINTERVAL和NUMTOYMINTERVAL
  15. 界面编程与视图(View)组件
  16. 【DG】Oracle_Data_Guard官方直译
  17. Data Model for Message Receiver
  18. 学习:ups电池放电时间是怎么计算的?
  19. Linux基础命令---显示树形进程pstree
  20. 全局描述符表(GDT)——《x86汇编语言:从实模式到保护模式》读书笔记09

热门文章

  1. java 程序执行顺序之继承
  2. Go组件学习——database/sql数据库连接池你用对了吗
  3. vsftpd 530 Login incorrect问题处理
  4. 深度学习环境搭建部署(DeepLearning 神经网络)
  5. python学习——文件操作
  6. Codeforces 814D
  7. Java多线程之线程的暂停
  8. Mac系统中idea配置git总结
  9. NLP(九) 文本相似度问题
  10. [python]python子字符串的提取、字符串连接、字符串重复