文档章节

[工具]lombok使用及其原理

工匠驿站
 工匠驿站
发布于 2017/04/07 10:43
字数 361
阅读 38
收藏 1

概念

lombok提供了一些简明的注释来消除POJO的模板代码(getter、setter等)。lombok的详细介绍参见[这里|http://jnb.ociweb.com/jnb/jnbJan2010.html]

安装步骤


安装

(intellij idea需要安装lombok plugin) 安装步骤省略

项目里面引入依赖的JAR包
 

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

使用

我们原来定义的POJO。它除了类定义与字段定义是有意义的,其他的构造方法和setter、getter方法都是臃肿的模板代码。
 

public class User {

    private String name;

    private String desc;

    public User() {

    }

    public User(String name, String desc) {
        this.name = name;
        this.desc = desc;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }
}

使用了lomkey的代码是什么样:

@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class User {

    private String name;

    private String desc;
    
}

 lombok常用注解说明

注解 作用目标 功能
@Getter 属性或类 为属性提供getter方法
@Setter 属性或类 为属性提供setter方法
@NoArgsConstructor 类  为类添加无参构造函数
@AllArgsConstructor 类  为类添加带有全部属性的构造函数
@ToString 类  为类添加toString方法
@EqualsAndHashCode 类  为类添加equals与hashCode方法
@Builder  类  POJO支持builder模式 
@Data

可以理解为以上提到的注解的集合,

它为所有属性提供getter和setter方法,并为类添加了equals、hashCode、toString 方法



 

 

© 著作权归作者所有

共有 人打赏支持
工匠驿站
粉丝 6
博文 23
码字总数 15739
作品 0
东城
程序员
lombok的使用和原理

一、项目背景 在写Java程序的时候经常会遇到如下情形: 新建了一个Class类,然后在其中设置了几个字段,最后还需要花费很多时间来建立getter和setter方法 lombok项目的产生就是为了省去我们手...

暗之幻影
2015/09/24
28.2K
5
lombok的使用和原理

一、项目背景 在写Java程序的时候经常会遇到如下情形: 新建了一个Class类,然后在其中设置了几个字段,最后还需要花费很多时间来建立getter和setter方法 lombok项目的产生就是为了省去我们手...

jimyao
2016/02/16
264
0
SpringBoot | 第二章:lombok 介绍及简单使用

原文出处:oKong 在去北京培训的时候,讲师说到了这个第三方插件包,使用了之后发现,确实是个神奇,避免了编写很多臃肿的且定式的代码,虽然现代的都能通过快捷键或者右键的方式,使用快速生...

oKong
07/27
0
0
SpringBoot | 第二章:lombok介绍及简单使用

在去北京培训的时候,讲师说到了这个第三方插件包,使用了之后发现,确实是个神奇,避免了编写很多臃肿的且定式的代码,虽然现代的都能通过快捷键或者右键的方式,使用快速生成setters/gette...

oKong
07/15
0
0
冗长的 java代码克星-Lombok

一、解决的问题 在写Java程序的时候经常会遇到如下情形: 新建了一个Class类,然后在其中设置了几个字段,最后还需要花费很多时间来建立getter和setter方法,toString,equals方法等等。特别...

ws199358
2016/09/22
44
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java大数据转换16进制转10进制

public static void main(String[] args) {String hex = "0xdbf3accc683297cf0000";BigInteger amount = new BigInteger(hex.substring(2), 16);System.out.println(amount);......

任梁荣
昨天
1
0
OSChina 周六乱弹 —— 目测我们程序员丁克的几率不大

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @真Skr小机灵鬼儿:8.13分享Jocelyn Pook/Russian Red的单曲《Loving Strangers》 《Loving Strangers》- Jocelyn Pook/Russian Red 手机党少...

小小编辑
昨天
9
3
TypeScript基础入门 - 函数 - 剩余参数

转载 TypeScript基础入门 - 函数 - 剩余参数 项目实践仓库 https://github.com/durban89/typescript_demo.gittag: 1.2.1 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能...

durban
昨天
1
0
OpenCV边缘检测算子原理总结及实现

1. 拉普拉斯算子 原理:是一种基于图像导数运算的高通线性滤波器。它通过二阶导数来度量图像函数的曲率。 拉普拉斯算子是最简单的各向同性微分算子,它具有旋转不变性。一个二维图像函数的拉...

漫步当下
昨天
0
0
Spring源码阅读——1

开始读Spring源码吧,看再多的技术博客,不如自己看一下~~~~~ Spring源码目前在github中,新版本基于gradle构建。所以阅读源码需要先安装github和gradle。 spring中git地址 1、安装git(略)...

叶枫啦啦
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部