`
rensanning
  • 浏览: 3548929 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38156
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607323
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682353
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89370
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401861
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69699
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91724
社区版块
存档分类
最新评论

Java简化臃肿代码之Lombok

    博客分类:
  • Java
 
阅读更多
对于Java语言的一些模板代码(Boilerplate Code),比如我们最常见的访问类的成员变量的getter/setter。如果没有特殊需求,这些方法一般都按照统一的定义规则来书写,而且内容基本不会有什么变化。

当然现在流行的Java的IDE开发工具都提供这些模板代码的自动生成,或者一些编辑器也提供Snippet功能,来减少这些重复性的工作。以最常见的Java开发IDE的Eclipse为例,他可以提供getter()/setter()、equals()、hashCode()、toString()等方法的自动生成。

Lombok是基于MIT license的去除Java特有模板代码的工具。他并不像Eclipse那样自动去生成代码,而是在编写代码的时候使用注解来达到同样的效果。

官网:http://projectlombok.org/

Lombok可以直接在javac命令中使用,也可以结合Eclipse或NetBeans等IDE工具使用。首先需要在官网下载lombok.jar(v0.12.0 "Angry Butterfly" (July 16th, 2013))。

如果使用javac编译Java文件的话,可以将lombok.jar放到classpath下,或者使用
引用
javac -cp lombok.jar MyCode.java


不过一般我们更习惯使用IDE工具,所以双击Lombok.jar,他可以自动检测机器上的Eclipse或NetBeans等IDE,选择你想使用的IDE后点击“Install/Update”后重启IDE,然后还需要将Lombok.jar添加到你的工程的Build path中。

如果不能检测到IDE的话,可以按照官方说明手动配置一下Lombok.jar。
以Eclipse为例:
1. 将 lombok.jar 复制到 eclipse.ini 所在的文件夹目录下
2. 打开 eclipse.ini,在最后面插入以下两行并保存:
  -javaagent:lombok.jar
  -Xbootclasspath/a:lombok.jar
3.重启 eclipse

Lombok核心特征是使用注解来在编译期创建代码从而达到减少模板代码的书写。

以下看看它的一些常见用法。

(1)成员变量的访问
以一个最常见的Bean为例:Member(id、name、sex)

一般我们的写法是:
public class Member {
    private int id;
    private String name;
    private boolean sex;
    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;
    }
    public boolean isSex() {
        return sex;
    }
    public void setSex(boolean sex) {
        this.sex = sex;
    }
}



使用了Lombok的@Getter @Setter
import lombok.Getter;
import lombok.Setter;

@Getter @Setter
public class Member1 {
    private int id;
    private String name;
    private boolean sex;
}



使用了Lombok的@EqualsAndHashCode
import lombok.EqualsAndHashCode;

@EqualsAndHashCode
public class Member2 {
    private int id;
    private String name;
    private boolean sex;
}



使用了Lombok的@ToString
import lombok.ToString;

@ToString
public class Member3 {
    private int id;
    private String name;
    private boolean sex;
}



使用了Lombok的@Data
import lombok.Data;

@Data
public class Member4 {
    private int id;
    private String name;
    private boolean sex;
}



(2)构造函数
import lombok.AllArgsConstructor;

@AllArgsConstructor
public class Constructor {
    private int id;
    private String name;
    private boolean sex;
}



import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public class Constructor1 {
    private final int id;
    private String name;
    private boolean sex;
}



import lombok.NoArgsConstructor;

@NoArgsConstructor
public class Constructor2 {
    private int id;
    private String name;
    private boolean sex;
}



(3)异常
一般的异常处理代码:
public void read() {
    try {
        FileReader in = new FileReader("data.txt");
        // ...以后代码省略
    } catch (FileNotFoundException e) {
        // ...异常处理省略
    }
}


使用Lombok的@SneakyThrows
@SneakyThrows
public void read1() {
    FileReader in = new FileReader("data.txt");
    // ...以后代码省略
}


(4)同步
一般的同步处理代码:
public synchronized void countup1() {
    // 同步处理
}

public void countup2() {
    synchronized (this) {
        // 同步处理
    }
}

private final Object lock = new Object();

public void countup3() {
    synchronized(lock) {
        // 同步处理
    }
}


使用Lombok的@Synchronized
@Synchronized
public void countup() {
    // 同步处理
}


官方网站上提供了一段视频,对于Lombok的使用提供了很详细的说明!

参考:
http://codezine.jp/article/detail/7274
http://java.dzone.com/articles/lombok-reduces-your
http://www.oschina.net/translate/lombok-reduces-your-boilerplate-code
http://www.blogjava.net/fancydeepin/archive/2012/07/12/lombok.html
http://jnb.ociweb.com/jnb/jnbJan2010.html
  • 大小: 14.6 KB
  • 大小: 9.1 KB
  • 大小: 8.3 KB
  • 大小: 7.2 KB
  • 大小: 11.2 KB
  • 大小: 9.3 KB
  • 大小: 8 KB
  • 大小: 7.7 KB
分享到:
评论

相关推荐

    lombok.jar网盘

    lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter...

    java编译过的源码-lombok:Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过

    Lombok 是一个非常受欢迎的 Java 开发工具,它通过提供一系列的注解,极大地简化了 Java 源代码,减少了冗余的 getter、setter、构造器、equals、hashCode 和 toString 方法等的编写工作。Lombok 的核心理念是提高...

    解决Idea安装lombok插件不兼容问题.docx

    lombok.jar官方版提供了简单的注解的形式来帮助用户简化消除一些必须有但显得很臃肿的 java 代码。 去官网下载最新的2024版本 修改参数  在压缩包路径 lombok-plugin -> lib -> lombok-plugin-xx.jar -> META-INF ...

    lombok-plugin

    IDE(intellij_idea)中安装lombok plugin,可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们...

    lombok-plugin-0.16-2017.2.1

    lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter...

    Lombok 注解工具类

    lombok 通过注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,比如属性getter,setter,构造函数等。 具体使用方式可以参考官网说明:https://projectlombok.org/features/all

    idea 设置搜索插件和常用的插件安装

    Lombok 简化臃肿代码插件是另一个非常有用的插件,该插件可以简化实体类的 get/set/构造/toString 等方法,不需要手写,从而减少代码的臃肿和重复。 Alibaba Java Coding Guidelines 阿里巴巴代码规范检查插件 ...

    Idea下安装插件: lombok-plugin-0.16-2017.2

    lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具。 lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。

    lombok-edge.jar

    Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法

    lombok-plugin-0.28-2019.3.zip

    Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。官方地址:https://projectlombok.org/,github地址:...

    lombok.jar

    lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter...

    详解SpringBoot优雅编码之Lombok加持

    1. 简化代码:Lombok可以自动帮我们生成setter和getter方法,减少代码的冗余和臃肿。 2. 提高开发效率:Lombok可以极大地提高开发速度,减少开发人员的工作量。 3. 提高代码质量:Lombok可以帮助我们编写更加简洁、...

    lombok plugin v0.16.jar插件包.zip

    lombok plugin v0.16源码编译JAVA代码注解生成工具,能够帮助程序员简化并消除臃肿的Java代码,例如,在新建类后,添加字段手中,需要手动建立getter和setter方法、创建构建各类函数,非常繁琐,lombok plugin的...

    SpringBoot集成Druid+MariaDB+Lombok+Mybatis-Plus详解

    Lombok:是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个属性,然后通常情况下我们需要手动去建立getter和setter...

    lombok-builder:Lombok建筑商回购

    Lombok 是一个Java库,通过在源代码级别处理(即编译时)来消除Java的样板代码。它通过注解的方式,可以在编译源代码时自动生成getter、setter、构造函数等方法,极大地提高了代码的可读性和简洁性。 ### 2. @...

    操作系统平台项目代码生成器

    3. **Lombok**:是一个可以通过简单的注解形式来帮助解决Java开发中一些必须有但显得很臃肿的代码(比如getters、setters、toString等),通过这些注解,Lombok会在编译期间帮我们生成相应的代码,从而大大减少冗余...

    IDEA插件功能以及一些调优配置大全.pdf

    Key Promoter X 是一款插件,提供了简化臃肿代码功能,可以简化实体类中的 get/set/构造/toString/hashCode 等方法。 阿里巴巴代码规范检查插件 阿里巴巴代码规范检查插件是 IDEA 的一款插件,提供了代码规范检查...

    如何在spring boot中进行参数校验示例详解

    Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具。通过使用对应的注解,可以在编译源码的时候生成对应的方法。例如,我们可以使用@Getter注解来给类增加get方法,使用...

Global site tag (gtag.js) - Google Analytics