文档章节

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

HGMrWang
 HGMrWang
发布于 2017/08/30 10:41
字数 583
阅读 16
收藏 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
博文 83
码字总数 38716
作品 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
Java IDEA中安装配置JDK、Gradle

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

blueberry_liang
04/11
0
0
IntelliJ IDEA对开发者的三大诱惑

IntelliJ IDEA作为最聪明的Java开发工具,不在只是对Java语言的支持,其中还包括Scala,Groovy 和其他语言。 对于任何一个开发者,好的工具就是为提高开发效率的。那么IntelliJ IDEA是怎么吸引...

kouxunli1
2014/01/07
0
4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

c语言之内存分配笔记

先看一个数组: short array[5] = {1,2} // 这儿定义的一个int类型的数组,数组第1和第2个元素值是1和2.其余后面默认会给值为0; 或者 short array[] = {1,2};//这儿数组第1和第2个元素,数组...

DannyCoder
46分钟前
0
0
Shell | linux安装包不用选择Y/N的方法

apt-get install -y packageOR echo "y" | sudo apt-get install package

云迹
今天
1
0
Hadoop的大数据生态圈

基于Hadoop的大数据的产品圈 大数据产品的一句话概括 Apache Hadoop: 是Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架...

zimingforever
今天
4
0
八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
今天
2
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部