Lombok 只会用@Setter @Getter @Data ? 老鸟带你玩转lombok
lombok的官网
官方网址 : https://projectlombok.org
lombok 稳定特性文档:https://projectlombok.org/features/
lombok 实验特性文档: https://projectlombok.org/features/experimental/
lombok是什么?
Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。说简单点,它是对Java语言的一个增强,相当于java的语法糖概念。这里不做太多的解释。阅读本文章需要有一定的实操经验,也完全使用过lombok插件。
lombok能做什么?
lombok 有哪些注解?
稳定特性:
var用于定义变量、来自 import lombok.var;val用于定义常量、来自 import lombok.val;@NonNull⽤来指定某个⽅法⼊参不能为null 若为null 将抛出空指针异常 。 来自 import lombok.NonNull;@Cleanup自动资源管理、默认调用close()方法。来自 import lombok.Cleanup;@Getter/@Setter用来生成类的字段的setXX()、getXX()方法。来自 import lombok.Setter; import lombok.Getter;@ToString用来生成类的toString()方法。来自 import lombok.ToString;@EqualsAndHashCode用来生成类的equals()与hashCode()方法。来自 import lombok.EqualsAndHashCode;@NoArgsConstructor, @RequiredArgsConstructor @AllArgsConstructor用于生成类的构造函数、无参构造、可选参构造、全参构造。来自 import lombok.NoArgsConstructor; import lombok.RequiredArgsConstructor;import lombok.AllArgsConstructor;@Data是@ToString@EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor 的合集表示。来自 import lombok.Data;@Value用于将类变成final 。来自import lombok.Value;@Builder用来生成对象的builder模式,并且可以为对象链式赋值。来自import lombok.Builder;@SneakyThrows用于消除编译时异常、转化为运行时异常。来自import lombok.SneakyThrows;@With用于为类全局字段变量生成以'withXX'的方法返回新的类对象。依赖@AllArgsConstructor;来自import lombok.With;@Getter(lazy=true)用于懒加载的方式初始化变量,此字段必须为final。来自import lombok.Getter;@Log@CommonsLog 、@Flogger、@JBossLog、@Log4j、@Log4j2、@Slf4j、@XSlf4j、@CustomLog 用于打印日志。来自 import lombok lombok.extern.*;
实验特性:
-
lombok怎么用?
Lombok 只会用@Setter @Getter @Data ? 老鸟带你玩转lombok的更多相关文章
- idea 2018 配置lombok插件及使用lombok设置实体类的getter和setter
内容简介 本文主要介绍Idea 2018中安装lombok插件,以及lombok的简单使用(生成实体类的getter和setter). lombok插件配置方法 Step 1: 打开Settings窗 ...
- 使用lombok时@Setter @Getter无效
原文链接 : https://blog.csdn.net/marion158/article/details/87893480 lombok是一个帮助简化代码的工具,通过注解的形式例如@Setter ...
- lombok标签之@Data @AllArgsConstructor @@NoArgsConstructor -如何去除get,set方法。@Data注解和如何使用,lombok
在代码中我们可以只加上标签@Data 而不用get,set方法: val : 和 scala 中 val 同名, 可以在运行时确定类型; @NonNull : 注解在参数上, 如果该类参数为 null ...
- jQuery 3.0 的 setter/getter 模式
jQuery 的 setter/getter 共用一个函数,通过是否传参来表明它是何种意义.简单说传参它是 setter,不传它是 getter. 一个函数具有多种意义在编程语言中并不罕见,比如函数重 ...
- iPhone开发教程之retain/copy/assign/setter/getter
assign: 简单赋值,不更改索引计数 copy: 建立一个索引计数为1的对象,然后释放旧对象retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1 1. 接触过C,那么 ...
- 说声PHP的setter&getter(魔术)方法,你们辛苦了
php作为快速迭代项目的语言,其牛逼性质自不必多说.今天咱们要来说说php语言几个魔术方法,当然了,主要以setter&getter方法为主. 首先,咱们得知道什么叫魔术方法? 官方定义为:_ ...
- 周末,说声php的setter&getter(魔术)方法,你们辛苦了
php 作为快速迭代项目的语言,其牛逼性质自不必多说.今天咱们要来说说php语言几个魔术方法,当然了,本文主要以setter&getter方法说明为主. 首先,咱们得知道什么叫魔术方法? 官方 ...
- Writable atomic property '***' cannot pair a synthesized setter/getter with a user defined
1. warning: Semantic Issue: Writable atomic property 'number' cannot pair a synthesized setter/gette ...
- 学习es6 setter/getter研究
1.背景 在ES6中,我们对类的定义如下 class Person { // 构造函数 constructor (name) { // 属性初始化 this.name = name; } // 成员方 ...
- idea中使用插件lombok简化java bean的getter/setter/log等常用功能
一.安装. 1. 2. 3. 4. . 二.使用 1. 2. 3. 结果分析,如果没有添加@Setter注解,则LombokTest中的student示例无法使用setAge()等方法.使用lombo ...
随机推荐
- MarkDown文档的编写
MarkDown的基本语法 MarkDown的标题语法 通过#进行创建标题,#的数量控制标题的级别 MarkDown的段落语法 通过空白行将一行或者多行文本进行分隔 MarkDown的强调语法 粗 ...
- 了解URLSearchParams对象
URLSearchParams对象用于处理URL中查询字符串,即?之后的部分. 1.语法 其实例对象的用法和Set数据结构类似.实例对象本身是可遍历对象.但是不是遍历器. var paramsStri ...
- 基于ESP32的桌面小屏幕实战[4]:硬件设计之PCB Layout
1. PCB Layout 步骤 生成PCB 确定PCB layout规范 绘制板框尺寸 布局 布局规范: 按电气性能合理分区,一般分为:数字电路区(即怕干扰.又产生干扰).模拟电路区(怕干扰).功率 ...
- 【原创】PREEMPT-RT中断线程化原理与中断线程优先级设置
PREEMPT-RT中断线程化与中断线程优先级设置 目录 PREEMPT-RT中断线程化与中断线程优先级设置 一.什么是中断线程化 1. 普通Linux中断处理 2. 实时性的不足 3. 中断线程化 ...
- 中电金信:GienTech动态|中标、入选、参会...近期精彩呈现!
中电金信参编业内首个银行核心系统分级度量标准 2024年6月6日,由中国信息通信研究院云计算与大数据研究所主办的"应用现代化赋能银行核心系统升级"交流会议在京召开.会议发布了业内首 ...
- 【MyBatis】学习笔记09:动态设置表名
[Mybatis]学习笔记01:连接数据库,实现增删改 [Mybatis]学习笔记02:实现简单的查 [MyBatis]学习笔记03:配置文件进一步解读(非常重要) [MyBatis]学习笔记04:配 ...
- 配置YUM源出现Errno 14 Could not open/read repomd.xml 或者 "Couldn't open file /mnt/cdrom/repodata/repomd.xml" 错误的解决办法
报错信息: [root@tcljr-jdh-uat007 yum.repos.d]# yum makecache Loaded plugins: fastestmirror Loading mirro ...
- shell脚本实现Base64加解密
暂时不支持中文字符 脚本: #!/bin/bash # ##################################################################### # ...
- Qt开源作品8-通用控件移动
一.前言 在做一些项目的过程中,有一种应用场景是需要拖动设备在一个容器中,自由拖动摆放到合适的位置,然后保存对应设备的坐标位置信息,在软件启动好以后自动加载配置好的坐标位置信息,将每个设备移动到对应的 ...
- RestSharp使用方法2.0
RestSharp使用方法 功能:在VS后端请求接口. (个人)用途:对接平台,做数据的转发. 1.引入Get包:RestSharp 2.简单的请求示例: /// <summary> / ...