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 ...
随机推荐
- 多线程编程入门Thread_Task_async_await简单秒懂
` using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; u ...
- 协议Fuzz技术
文章一开始发表在微信公众号 https://mp.weixin.qq.com/s?__biz=MzUyNzc4Mzk3MQ==&mid=2247486230&idx=1&sn= ...
- idea左上角project一片绿的解决方法
idea突然project底色一片绿,真的心里慌得一批.. 解决方法: 打开File-Settings,按图示找到地方,关闭FileColor,即可.
- R数据分析:跨层中介的原理和做法,实例操练
之前有同学问过我211模型,没听过这个词,感觉怎么有这么不严肃的名字,偷偷去查了查,211模型,其实就是嵌套数据的中介的情形之一.根本上讲还是属于多水平模型的路径分析(用多水平模型跑回归也可以做中介, ...
- Python Tkinter 弹窗美化指南
在Python编程中,Tkinter是标准GUI(图形用户界面)库,它允许开发者创建桌面应用程序.尽管Tkinter提供了基本的窗口和控件功能,但默认的样式和外观往往显得单调.因此,对Tkinter弹 ...
- k3s 轻量级Kubernetes 安装实例
k3s是由Rancher开发的轻量级Kubernetes,支持嵌入式系统,边缘计算节点等 易于安装,所有组件都在一个小于100MB的二进制文件中,占用资源低 1.1.简单安装试例 curl -sfL ...
- java多层级zip解压
java多层级zip解压 前言 项目中偶然需要,希望能处理嵌套的压缩包,但是又不希望把文件解压处理.原本不希望重复造轮子,但没有发现很好用的现成案例,就简单处理了一下. 正文 java做zip解压一般 ...
- Spring Boot 2.4 中文
Spring Boot 2.4 中文 https://runebook.dev/zh-CN/docs/spring_boot/spring-boot-features
- Qt编写地图综合应用53-省市轮廓图下载
一.前言 Qt的浏览器控件的交互机制非常方便,所以在在线地图的时候可以对每个区域的经纬度坐标集合发给Qt程序,让他去存储到文件,在实际的测试过程中,发现有部分地图有多个封闭的曲线的,比如散落的岛屿和飞 ...
- Qt编写安防视频监控系统50-地图配置
一.前言 视频监控系统中集成了百度地图模块,支持在线和离线,离线的需要先把离线的瓦片地图下载到本地放到对应文件夹才可以正常使用,瓦片地图其实就是一张张图片,按照约定的规则,经纬度值+缩放比例进行排列, ...