Lombok - 使用注解让你的JavaBean变得更加简洁
Lombok - 工具简介:
Lombok是一个编译时注释预处理器,有助于在编译时注入一些代码。Lombok提供了一组在开发时处理的注释,以将代码注入到Java应用程序中,注入的代码在开发环境中立即可用。在详细介绍之前,可以去其官网看一下作者提供的视频,视频中阐述了Lombok 的简单用法。https://projectlombok.org/
Lombok - 安装过程:
基于 Maven:
示例代码:
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
</dependencies>
添加好 Maven 依赖之后,就可以在代码中使用 Lombok 的注解来简化代码了。
基于IntelliJ IDEA:
安装 Lombok IntelliJ plugin:
Jetbrains IntelliJ IDEA Editor完全兼容 Lombok,要在 IDEA 中使用 Lombok,那就需要在IntelliJ IDEA 中安装 Lombok IntelliJ plugin 插件,以下为安装步骤:
Go to
File > Settings > PluginsClick on
Browse repositories...Search for
Lombok PluginClick on
Install pluginRestart IntelliJ IDEA
具体安装过程可参考官网或者插件 Github 主页。
在IntelliJ IDEA使用Lombok:
- Go to Refactor > Lombok
- 在打开的 JavaBean 文件中按照需求添加相应的注解即可。
Lombok - 常用注解:
你如果是使用IDEA的话,在当前文件上按command+F12,或者长按command在左侧找到Structure,就能够看到 lombok 为当前类生成的方法。
@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
示例代码:
import lombok.Data; @Data
public class Person {
private String firstName;
private String lastName;
private String job;
}
@Setter/@Getter:注解在属性或类上;为属性提供 Setter/Getter 方法
示例代码:
import lombok.Getter;
import lombok.Setter; // 只为 firstName 生成Getter、Setter 方法
public class Person {
@Getter
@Setter
private String firstName;
private String lastName;
private String job;
}
import lombok.Getter;
import lombok.Setter; @Getter
@Setter
public class Person {
// 为所有字段生成Getter、Setter 方法 private String firstName;
private String lastName;
private String job;
}@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@Value:此注解集@equals()、@hashCode()、@toString()、@Getter()于一身。
示例代码:
import lombok.Value;
import lombok.experimental.NonFinal; @Value
public class Person {
/** 类本身以及类中所有的字段都是private final类型的,不会生成Setter方法。
* 可以通过显式指定某个注解覆盖掉默认的属性。
* 通过@NonFinal注解修饰的字段,不是final类型的。
*/
String firstName; String lastName;
@NonFinal
String job;
}@NoArgsConstructor/@AllArgsConstructor: 自动生成无参数构造函数/全参构造函数。
示例代码:
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor; @NoArgsConstructor
@AllArgsConstructor
public class Person {
private String firstName; private String lastName; private String job;
}
@NonNull :修饰方法、构造函数的参数或者类字段,Lombok自动生成一个非空检测语句。
示例代码:
import lombok.NonNull; public class Person{
public String Example(@NonNull String sum){ return null;
}
}
@Synchronized 将方法变成同步方法
@SneakyThrows:将受检异常转换为非受检异常,避免抛出或尝试语句。
lombok 项目官网上还有一些其他注解的用法,此处就不列举了,附链接:https://projectlombok.org/features/all
参考资料:
Lombok - 使用注解让你的JavaBean变得更加简洁的更多相关文章
- eclipse 按装lombok与注解说明
原文:http://www.cnblogs.com/ywqbj/p/5711691.html 一.安装lombok 1.下载 lombok-1.16.16.jar 包 我的下载完后放到:/root ...
- 来自lombok的注解(解决idea中的找不到get,set方法,找不到log的问题)
今天看代码,发现idea报错,仔细一看调用的get,set方法bean中都没有,但是运行起来却没有问题,这个让我很疑惑.后来发现在类上有一个以前没见过的注解@Data,大概就是因为有他的原因.这个注解 ...
- lombok常用注解@Data@AllArgsConstructor@NoArgsConstructor@Builder@Accessors
原贴:https://blog.csdn.net/ChenXvYuan_001/article/details/84961992 https://blog.csdn.net/weixin_382293 ...
- 20190905 Lombok常用注解
Lombok常用注解 val 用于声明类型,将从初始化表达式推断出类型,仅适用于局部变量和foreach循环,而不适用于字段.声明的局部变量为final变量. Java自带类型推断随着JDK版本提升越 ...
- lombok常用注解
简介: Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率.例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器.equ ...
- Lombok 常用注解
Lombok Lombok 能以简单的注解形式来简化 java 代码,提高开发人员的开发效率.例如开发中经常需要写的 javaBean,都需要花时间去添加相应的 getter/setter,也许还要去 ...
- Eclipse - 安装lombok后注解无效
安装 lombok lombok 的安装过程挺简单的,网上已经有很多相关的博客,这里就不在多说了,可以参考这篇:eclipse集成lombok注解不起作用 但是我按照网上的方式安装之后,注解一直不起作 ...
- lombok @EqualsAndHashCode 注解讲解
官方文档:@EqualsAndHashCode 原文中提到的大致有以下几点: 1. 此注解会生成equals(Object other) 和 hashCode()方法. 2. 它默认使用非静态,非瞬态 ...
- 第三方工具系列--Lombok常用注解
原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9329798.html Lombok注解解析: @NonNull 使用在方法的参数或者构造 ...
随机推荐
- Linux中的iptables防火墙策略
0x01 简介 iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的"安全框架"中,这个" ...
- 在Mac如何启动MySQL
安装好MySQL服务后(安装步骤可以参考系列经验1).打开“系统偏好设置”,单击下端的“MySQL”图标. 2 在“MySQL”对话框中,单击“启动MySQL服务”按钮. 3 在弹出的窗口中,输入管理 ...
- 小程序wepy购物车的逻辑
<!-- 剩余可销售商品数量 大于 0,且购买未达上限--> <view wx:if="{{(detaildata.boughtNum < detaildata.bu ...
- Linux压缩和解压类指令
一.gzip / gunzip 指令 gzip 用于压缩文件,gunzip 用于解压文件. 基本语法gizp 文件 (功能描述:只能将文件压缩为*.gz文件)gunzip 文件.gz (功能描述 ...
- Vue axios post 传参数,后台接收不到为 null
由于axios默认发送数据时,数据格式是Request Payload,而并非我们常用的Form Data格式,后端未必能正常获取到,所以在发送之前,需要使用qs模块对其进行处理. cnmp inst ...
- ORA-39142: incompatible version number 5.1 in dump file
ORA-39142: incompatible version number 5.1 in dump file http://blog.itpub.net/26664718/viewspace-214 ...
- 枚举(Enum)
enum是一个全新的“类”. 枚举(Enum): 我们所定义的每个枚举类型都继承自java.lang.Enum类.枚举中的每个成员都是public static final的. 当您使用“enum”定 ...
- 笔记 - DBSherlock: A Performance Diagnostic Tool for Transactional Databases
OLTP系统的问题很难排查和定位,这就是为什么要花那么多钱去请DBA 因为TP系统的请求很多都是毫秒级别,而且同时有大量的并发,所以由于资源,或随机的原因导致的问题,很难去定位根因 哪怕数据库系统尤其 ...
- 即时通信系统IM--XMPP
即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷:服务提供商也提供了越来越丰富的通讯服务功能. 不容置疑,Internet已经 ...
- PHP7 MongoDB 使用方法
原文链接: http://www.zhaokeli.com/article/8574.html MongoDb原生操作 Mongodb连接 PHP7 连接 MongoDB 语法如下: 复制代码 $ma ...