lombok系列1:初识lombok

初识lombok

官网:https://projectlombok.org/

什么是lombok

连官网都懒得废话,只给出了一句广告词:给你的java加点料(spice up your java)。

我们自己来总结一下:

lombok是一个ide插件,它可以让我们写更少的代码,而编译出更多的字节码。

也就是说,我们可以让我们编译出一个复杂的.class文件,而我们的.java文件很干净清爽。

为什么要使用lombok

首先,我们可以写更少的代码,而不影响其他类引用,方法一个不能少;

其次,lombok是编译周期参与的,运行时完全无依赖,对字节码而言无侵入;

代码review更简单,一目了然。

lombok适用场景

尤其适合pojo类,如普通的javabean、orm的实体类、json的实体类等。

有些功能如Log相关,适用于任意类。

spring Cloud已经引入为一个core组件,可以放心使用。

hello lombok

首先,我们按照传统的方式编写一个java bean,增加getter、setter、toString:

package com.pollyduan;

import java.util.Date;

public class User {
    private Integer id;
    private String userName;
    private String password;
    private String email;
    private Integer age;
    private Date signupTime;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Date getSignupTime() {
        return signupTime;
    }

    public void setSignupTime(Date signupTime) {
        this.signupTime = signupTime;
    }

    @Override
    public String toString() {
        return "User [id=" + id + ", userName=" + userName + ", password=" + password + ", email=" + email + ", age="
                + age + ", signupTime=" + signupTime + "]";
    }
}

然后写一个Main方法测试一下:

public static void main(String[] args) {
   User user=new User();
   user.setId(1001);
   user.setUserName("pollyduan");
   user.setPassword("123456");
   user.setEmail("pollyduan@pollyduan.com");
   user.setAge(30);
   user.setSignupTime(new Date());
   System.out.println(user);
}

我们用lombok改造一下,重点看一下main方法,使用起来完全一样。

package com.pollyduan;

import java.util.Date;

import lombok.Data;

@Data
public class User {
    private Integer id;
    private String userName;
    private String password;
    private String email;
    private Integer age;
    private Date signupTime;
}

没错,就是这么干净。

其他类使用该Bean的方法与前面完全一样。

如何安装插件

看了helloworld是不是有了用一下的冲动?如果使用该插件需要在ide安装插件,这里只针对eclipse开发环境进行说明,其他ide可以搜索一下,或者联系我。

下载插件

首先你要拿到一个lombok.jar,有几个途径:

1. 直接在官网下载;
2. 去maven仓库下载,比如:http://mvnrepository.com/
3. 直接在你的maven项目中拉取jar,然后去~/.m2中去找。

maven依赖配置:

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.16.16</version>
</dependency>

注:该jar第一次安装完之后,以后编码时也需要引入到java build path中。

安装lombok

直接执行lombok.jar,如:

java -jar ~/.m2/repository/org/projectlombok/lombok/1.16.16/lombok-1.16.16.jar

会弹出一个窗口,选择你的eclipse目录,或者自己导航到eclipse.ini文件,点击”Install”即可。

使用lombok

插件安装后,重启eclipse,将lombok.jar添加到java build path中就可以了。

如果你使用maven,很好,将lombok添加到依赖中即可。

更多的使用技巧,下一篇详细介绍。有问题可以加Q群讨论:9040323

时间: 2025-01-01 14:47:02

lombok系列1:初识lombok的相关文章

lombok系列2:lombok注解详解

开篇 看到第一篇<初识lombok>你可能意犹未尽,本文我们按照场景来介绍一下常用的注解. 未特别说明,均标注在类级别. lombok.Data 最常用的注解,编译时自动添加Setter.Getter.toString().equals()和hashCode(). package com.pollyduan; import java.util.Date; import lombok.Data; @Data public class User { private Integer id; priv

lombok系列3:lombok的实验类特性

lombok除了已经推荐使用的基本功能,还维护了一个创新型的注解,有些功能有违常规对java认知,或者只支持eclipse,其他IDE支持有问题,甚至某些环境完全不可用.因此没有正式使用. 但是的确很有创意,这些注解已经在jar中提供,只不过它是归在"lombok.experimental." 包中:而基本功能在"lombok." 包中. @Accessors 定制流畅的访问器. @Accessors(chain=true) 链式访问,该注解设置chain=true

iOS中CoreData数据管理系列一——初识CoreData

iOS中CoreData数据管理系列一--初识CoreData 一.何为CoreData     CoreData是一个专门用来管理数据的框架,其在性能与书写方便上都有很大的优势,在数据库管理方面,apple强烈推荐开发者使用CoreData框架,在apple的官方文档中称,使用CoreData框架可以减少开发者50%--70%的代码量,这虽然有些夸张,但由此可见,CoreData的确十分强大. 二.设计数据模型     在iOS开发中,时常使用SQL数据库对大量的表结构数据进行处理,但是SQL

iOS流布局UICollectionView系列一——初识与简单使用UICollectionView

iOS流布局UICollectionView系列一--初识与简单使用UICollectionView 一.简介         UICollectionView是iOS6之后引入的一个新的UI控件,它和UITableView有着诸多的相似之处,其中许多代理方法都十分类似.简单来说,UICollectionView是比UITbleView更加强大的一个UI控件,有如下几个方面: 1.支持水平和垂直两种方向的布局 2.通过layout配置方式进行布局 3.类似于TableView中的cell特性外,

零基础也能学会GITHUB 系列之初识GITHUB

  今年全栈设计师越来越流行,无论视觉.UI还是交互都难逃浪潮.所以特意给无编程基础的设计师来点简单易懂的入门教程,比如@googdev 这个系列文章,就是帮你学会Github 的,即使不是工程师,你也可以用它来搭建个人网站/Markdown写作/展示简历/表白等等,学起来! 1. 写在前面 我一直认为 GitHub 是程序员必备技能,程序员应该没有不知道 GitHub 的才对,没想到这两天留言里给我留言最多的就是想让我写关于 GitHub 的教程,说看了不少资料还是一头雾水,我转念一想,我当初

【SSH系列】初识spring+入门demo

       学习过了hibernate,也就是冬天,经过一个冬天的冬眠,当春风吹绿大地,万物复苏,我们迎来了spring,在前面的一系列博文中,小编介绍hibernate的相关知识,接下来的博文中,小编将继续介绍SSH中的spring,Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架.今天这篇博文,小编将从what.why

lombok在IntelliJ IDEA下的使用

      lombok是一款可以精减java代码.提升开发人员生产效率的辅助工具,利用注解在编译期自动生成setter/getter/toString()/constructor之类的代码.代码越少,意味着出bug的可能性越低. 官网地址:https://projectlombok.org/ 首页有一段几分钟的演示视频,看完就明白是怎么回事了. 先来二段对比代码: 这是用lombok后的java代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1

Lombok 安装、入门 -spice up your java

简介         官网地址:https://projectlombok.org         提供的注解:https://projectlombok.org/features/index.html         下载链接:https://projectlombok.org/download.html 安装方式:         使用 lombok 是需要安装的,如果不安装,IDE 则无法解析 lombok 注解         java -jar  lombok-1.16.6.jar  

一起学WINS系列(一)初识、基础

<一起学WINS>系列是新出的一个系列专题,旨在用通俗的语言和精细的实例向大家介绍windows2003 服务之一,WINS服务.尽管现在server 2008比较火,且很受欢迎,但这些基础的东西还是不能忘的,希 望大家通过本系列的讨论和学习,对WINS有一些更多的认识和理解.不过,事先声明,本系列并非WINS的 帮助文件,不可能面面俱到,过于常规的知识点可能会很少提及,本文出发点是从实用角度来学习和理解 WINS. 此系列第一节:初识.基础. WINS是什么?从字面理解就是Windows I