原 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 条评论
登录 后参与评论

相关文章

来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4868
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2577
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4025
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2717
来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2645
来自专栏杨龙飞前端

scrollto 到指定位置

2514
来自专栏飞扬的花生

jsencrypt参数前端加密c#解密

      写程序时一般是通过form表单或者ajax方式将参数提交到服务器进行验证,如何防止提交的请求不被抓包后串改,虽然无法说绝对安全却给非法提交提高了难度...

3869
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

2968
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2536
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3145

扫码关注云+社区