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 ...
随机推荐
- uniapp 坑 - sslVerify不支撑离线打包
uniapp 打包为Android的apk时,由于适用https和自签证书,离线打包不支撑sslVerify,导致出现Trust anchor for certification path not f ...
- docker部署最新6.2版Zabbix Server端
一.安装docker,参见本博客docker安装文档. 二.启动空的mysql -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="z ...
- Getting Started with JavaFX
https://openjfx.io/openjfx-docs/#maven Run HelloWorld using Maven If you want to develop JavaFX appl ...
- 性能优化!突破性能瓶颈的尖兵CPU Cache
大家好,我是呼噜噜,今天我们来介绍计算机的储存器之一,CPU高速缓冲存储器也叫高速缓存,CPU Cache 缓存这个专业术语,在计算机世界中是经常使用到的.它并不是CPU所独有的,比如cdn缓存网站信 ...
- 聊一聊 C#线程池 的线程动态注入 (下)
一:背景 1. 讲故事 前面二篇我们聊到了 Thread.Sleep 和 Task.Result 场景下的线程注入逻辑,在线程饥饿的情况下注入速度都不是很理想,那怎么办呢?有没有更快的注入速度,这篇作 ...
- Qt编写地图综合应用48-地球模式、三维模式、地铁模式
一.前言 百度地图本身提供了普通模式.地球模式.三维模式.地铁模式等好多种,普通模式是最常用的默认的,就是那个街道图和卫星图的,而地球模式和三维模式是最近几年才新增加的,为了迎合现在越来越多的用户的需 ...
- JMeter使用指南+实验报告
JMeter使用指南 目录 JMeter使用指南 界面基本配置方法 1.选项里的放大与缩小--缩放字体 2.选项里的选择语言 3.命令行的调出 注意事项 一些指标介绍 1.TCP取样器 2.汇总/聚合 ...
- 基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v9.1版已发布
关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持 UDP .TCP .WebSocket 三种协议,支持 iOS ...
- 基于sass tailwindcss的传统页面开发脚手架
这是一个基于sass和tailwindcss的快速开发传统多页面的npm脚手架. package.json { "name": "sass-tailwindcss-sta ...
- BotSharp:又一个.Net重磅AI开源项目,.Net在AI领域开始崛起!
大家好,我是编程乐趣. 自从大模型爆火以来,.Net不管是官方.还是社区开源项目,都陆续推出很多重磅的项目. 在AI领域,对话即平台(CaaP)是未来的发展方向. 下面介绍一个开源项目,面向AI Bo ...