原 JAVA懒开发:lombok的使用

lombok对于JAVA懒开发者来说应该是比较中意的,相信很多程序猿已经在使用该框架了,lombok框架提供了很多编码遍历,但是也降低了代码的阅读力。

pom.xml中maven包加入

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

lombok的依赖仅仅只有一个,lombo基于配置在编译class文件时会自动将指定模板的内容写入。

原基础类

import java.util.Date;
/**
 * 用户实体>>>测试lombok
 * ========================
 * @author  BianP 
 * Date:2018/1/1
 * Time:23:07
 * ========================
 */
public class User{
    private Long id;

    private String loginName;

    private String password;

    private Long level;

    private Date createTime;

    private String note;
}

不用lombok的化,就要get,set,toString,那么使用lombok呢?

使用lombok后的类(@Getter/@Setter/@ToString)

import java.util.Date;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
 * 用户实体>>>测试lombok
 * ========================
 * @author  BianP 
 * Date:2018/1/1
 * Time:23:07
 * ========================
 */
@Getter
@Setter
@ToString
public class User{
    private Long id;

    private String loginName;

    private String password;

    private Long level;

    private Date createTime;

    private String note;
}

如果感觉很麻烦,那么把这3个改成@Data就好了

使用lombok中构造方法实现

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * 用户实体>>>测试lombok
 * ========================
 * @author  BianP 
 * Date:2018/1/1
 * Time:23:07
 * ========================
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User{
    private Long id;

    private String loginName;

    private String password;

    private Long level;

    private Date createTime;

    private String note;
}

@AllArgsConstructor全部参数的构造函数的自动生成 @NoArgsConstructor没有参数的构造函数的自动生成 他们都只能作用于实体类上,因为只有实体类才会存在构造函数。

其他功能请查阅官方:https://projectlombok.org/features/all

总结:

    以上都是我们在开发中经常使用的了,虽然提供的组件不多,但是每一个都是我们需要的,正是因为如此从而大大减少了我们的工作量,尤其是这种不起眼却又不得不写的代码。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jed的技术阶梯

Java设计模式之单例模式

这个模式是很有意思,而且比较简单,但是我还是要说因为它使用的是如此的广泛,如此的有人缘,单例就是单一、独苗的意思,那什么是独一份呢?你的思维是独一份,除此之外还...

732
来自专栏熊二哥

单例模式深入理解

最近去平安系面试时,遇到了个人技术领域认定的一大偶像吴大师(Cat作者),他随口问了个单例的问题,要求基于Java技术栈,给出几种单例的方案,并给出单元测试代码...

21910
来自专栏余林丰

单例模式

单例模式,顾名思义,在程序运行时有且仅有一个实例存在。最常见的一个应用场景就是网站访问量的计数器,试想如果允许创建多个实例,那还怎么计数,这个时候就得创建有且仅...

1955
来自专栏数据之美

Java 反射机制详解

Class类简介: Class对象 虚拟机在class文件的加载阶段,把类信息保存在方法区数据结构中,并在Java堆中生成一个Class对象,作为类信息的入口。...

2108
来自专栏cs

研究生的一份试题的几道题节选

首先祝朋友考研成功,勇往直前,我是不考研的,所以完全以提高能力,使用为主,不在意细节。小伙伴让我帮忙看了一下试卷,故截取了几道题目。 c我是真的应了那句话,从入...

3468
来自专栏Java后端生活

JDBC(四)JDBC元数据和反射的利用

Java 通过JDBC获得连接以后,得到一个Connection 对象,可以从这个对象获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列,数据...

592
来自专栏大内老A

ASP.NET Core中的依赖注入(5): ServiceProvider实现揭秘 【总体设计 】

本系列前面的文章我们主要以编程的角度对ASP.NET Core的依赖注入系统进行了详细的介绍,如果读者朋友们对这些内容具有深刻的理解,我相信你们已经可以正确是使...

2046
来自专栏技术博文

PHP编程风格规范

本规范由 EasyChen 借鉴 SINA网络应用开发部《C++开发规范》和互动技术部《PHP4开发规范》,以及phpDocument规范 整理出的开发规范。我...

3227
来自专栏Spark学习技巧

Hive : SORT BY vs ORDER BY vs DISTRIBUTE BY vs CLUSTER BY

在Apache Hive中,像SQL一样,您可以根据全局排序和分布要求决定对数据进行全局排序或局部排序。在这篇文章中,我们将了解Hive中的SORT BY,OR...

2715
来自专栏python爬虫日记

论python3下“多态”与“继承”中坑

近日切换到python3后,发现python3在多态处理上,有一些比较有意思的情况,特别记载,供大家参考。。。

1013

扫码关注云+社区