文档章节

以简单的方式消除 Java 的冗长-IDEA

HGMrWang
 HGMrWang
发布于 2017/08/30 10:41
字数 583
阅读 17
收藏 0

概序

Lombok 是一种 Java Archive (JAR) 文件,可用来消除 Java 代码的冗长。

一个标准的 Java bean,一个典型的 Java bean 一般具有几个属性,getter 和 setter。通常还会有一个 toString() 方法、一个 equals() 方法和一个 hashCode() 方法。

为了消除代码行,Lombok 使用注释来标识类和 Java 代码块。所有的 getter、setter 以及其他三个方法都是在编译时被暗示并包括进来的。

Lombok 还让您得以简化代码的其他部分 — 不仅仅是 Java bean。比如,还可以减少 try/catch/finally 块内以及同步方法内的冗余代码。

IDEA安装Lombok 插件

  1. 打开IDEA的Settings面板,并选择Plugins选项,然后点击 “Browse repositories..”
  2. 在输入框输入”lombok”,得到搜索结果,Lombok plugin,点击安装,然后安装提示重启IDEA,安装成功; 

项目集成Lombok

方式一:添加lombok的maven依赖

       <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok-maven -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok-maven</artifactId>
            <version>1.16.18.1</version>
        </dependency>

 方式二:手动添加lombok.jar.

使用lombok

创建一个简单的JavaBean

public class Food{
    private String name;
    private int size;
    private String color;
    private String style;
}

@Data注解的使用

使用@Data注解为上面的JavaBean添加getter、setter、equals、hashcode、toString等方法。

import lombok.Data
@Data
public class Food{
    private String name;
    private int size;
    private String color;
    private String style;
}

看编译后的.class

在生成 getter/setter 方法时,Lombok 遵从传统的标准。所有这些方法名都以 get 或 set 开头并且属性名都是大写的。当然,如果属性是一个 Boolean,情况例外。在这种情况下,getter 以 is 开始,而非 get。这是 Java bean 的一种标准实践。

@Cleanup 注解使用

为了消除 try/catch/finally 块的冗余,只需使用 @Cleanup 注释

public static void main(String[] args) throws IOException {
    @Cleanup InputStream in = new FileInputStream(args[0]);
    @Cleanup OutputStream out = new FileOutputStream(args[1]);

}

这个代码块不仅消除了 try/catch/finally 块,而且还关闭了开放流

@Synchronized 注解使用

Lombok 还可以减少同步方法所需的代码的冗余。很自然,这是用 @Synchronized 方法实现的。

@Synchronized
private int foo() {
    //some magic done here
    return 1;
}

如果用 @Synchronized 注释的这个方法是静态的,那么 Lombok 就会创建一个名为 $LOCK 的类对象,并会针对该对象同步这个方法。

 

© 著作权归作者所有

HGMrWang
粉丝 5
博文 84
码字总数 39899
作品 0
深圳
程序员
IntelliJ IDEA 10.0 64位运行方法

IntelliJ IDEA 10.0 默认的快捷方式是以32位运行的.虽然性能上面感觉不出什么变化,但让人心里不很爽.IDEA是JAVA程序,如果我们直接从JAVA命令运行的话那就默认是64位了.还好,IDEA支持以命令调...

SeanCai
2010/12/19
0
1
2.2 Selenium 环境搭建

Java 环境搭建 下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装JDK 配置Java 环境 校验是否安装完成 控制台输入: java –version 提示版......

米阳MeYoung
04/24
0
0
如何从eclipse迁移到idea

总结说明: 1.必须搞明白modules和artifacts是什么东西。 2.modules如果是webApp的话,那么在new modules的时候注意得选择webmodules。如果是从别的地方copy过来的项目,那么可以自己新建一个...

指尖的舞者
2013/05/03
0
0
Ubuntu 18.04.1 搭建Java环境和HelloWorld

一、搭建Java环境 系统环境 Ubuntu 18.04.1 JDK 8 IDEA 2018.2 1.下载JDK 官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 选择相应的版本,点击jdk,进入下...

王磊的博客
08/24
0
0
Java IDEA中安装配置JDK、Gradle

现在大多数IDE都没有集成JDK环境,IDEA也是一样,在使用IDEA之前首先要安装JDK,并且配置环境变量。与其他IDE不同之处在于,IDEA是不会自动匹配系统的JDK环境。如果在IDEA里面没有配置JDK,运...

blueberry_liang
04/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

arcgis jsapi接口入门系列:总览

开发环境: arcgis jsapi版本4.9 由于我们这套代码是基于vue,webpack开发的,会有少数vue代码,但总体不影响 里面还有些我们公司的js库和html css,给出的代码不能百分百直接运行,主要还是...

canneljls
3分钟前
0
0
月薪80k阿里架构师漫谈他是如何从一名小码农走到架构师的

01 刚当程序员时,我是属于那种勤勤恳恳类型的员工,工作态度用认真来形容不为过,每天我几乎是团队里最早到公司,又最晚下班的一个。而组员张工一般情况下都是准时上下班的,即使项目进度比...

Java填坑之路
5分钟前
0
0
oracle的resetlogs机制浅析

oracle的resetlogs机制浅析 alter database open resetlogs 这个命令我想大家都很熟悉了,那有没有想过这个resetlogs选项为什么要用?什么时候用? 它的原理机制是什么?他都起哪些作用? 我...

突突突酱
7分钟前
0
0
JAVA 获取两个日期间的所有日期

public static List<String> getDates(String startDate, String endDate){    Date d1 = new SimpleDateFormat("yyyyMMdd").parse(startDate);//定义起始日期    Date d2 = new Simple......

尘叙缘
13分钟前
0
0
Innodb中的事务隔离级别和锁的关系

#一次封锁or两段锁? 因为有大量的并发访问,为了预防死锁,一般应用中推荐使用一次封锁法,就是在方法的开始阶段,已经预先知道会用到哪些数据,然后全部锁住,在方法运行之后,再全部解锁。...

Skqing
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部