文档章节

[工具]lombok使用及其原理

工匠驿站
 工匠驿站
发布于 2017/04/07 10:43
字数 361
阅读 39
收藏 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 方法



 

 

© 著作权归作者所有

共有 人打赏支持
工匠驿站
粉丝 7
博文 24
码字总数 16052
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

idea 通过jpa自动生成实体类

引入jpa包 打开persistence窗口 右键选择连接数据库 如果数据库没配置,则可以在下图选项中配置 选择好数据库和实体类的生成地址

斩神魂
30分钟前
1
0
tcpdump 命令

TCPDUMP简介 tcpdump 是一个很常用的网络包分析工具,可以用来显示通过网络传输到本系统的 TCP/IP 以及其他网络的数据包。tcpdump 使用 libpcap 库来抓取网络报,这个库在几乎在所有的 Linu...

寰宇01
38分钟前
2
0
软件的Alpha、Beta、RC、GA版本的区别

Alpha:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。 Beta:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。 RC:(Release Candidate) 顾名思义...

乔老哥
39分钟前
2
0
慢雾安全海贼王:从DApp亡灵军团,细说区块链安全

本文转载自微信公号“万向区块链”,为慢雾安全负责人海贼王在万向区块链实验室举办的2018上海区块链国际周-技术开放日上的演讲速记整理。 这张图总结了智能合约攻防的各个方面,分为两大部分...

万向区块链
45分钟前
13
0
Matlab编程之——卷积神经网络CNN代码解析

卷积神经网络CNN代码解析 deepLearnToolbox-master是一个深度学习matlab包,里面含有很多机器学习算法,如卷积神经网络CNN,深度信念网络DBN,自动编码AutoE ncoder(堆栈SAE,卷积CAE)的作...

酒逢知己千杯少
45分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部