lombok的原理 和 使用
原理
Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。其实并没有改变字节码文件的任何内容,只是简化的程序员编写代码的方式。
不使用lombok:

使用lombok:

lombok常用注解
@Setter :注解在类或字段,类时为所有字段生成setter方法,字段上时只为该字段生成setter方法。
@Getter :使用方法同上,区别在于生成的是getter方法。
@ToString :注解在类,添加toString方法。
@EqualsAndHashCode : 注解在类,生成hashCode和equals方法。
@NoArgsConstructor : 注解在类,生成无参的构造方法。
@RequiredArgsConstructor : 注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull 注解的字段。
@AllArgsConstructor : 注解在类,生成包含类中所有字段的构造方法。
@Data : 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
@Slf4j : 注解在类,生成log变量,严格意义来说是常量。private static final Logger log = LoggerFactory.getLogger(UserController.class);
相关文章:
lombok的原理 和 使用
原理Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。其实并没有改变字节码文件的任何内容,只是简化的程序员编写代码的方式。不使用lombok:使用lombok:lombok常用注解Setter :注解在类或字段&#x…...
UDP网络编程
UDP和TCP 前几节我们提到了计算机网络编程中的TCP编程,TCP和UDP都是计算机机网络通信的传输层中的传输协议,今天我们来学习计算机网络编程中的基于UDP传输协议的网络编程 首先我们要了解TCP和UDP的区别 它们是同属于计算机网络传输层的传输协议 TCP&…...
“合并区间”问题解析及其思考
合并区间题目以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。解析本题思路相对比较容易想先对各个区间按左…...
2023年理想新能源汽车核心部件解密
理想主要硬件清单(L9车型) 汽车结构 设置名称 规格 备注 价格 供应商 感知层...
C++ 将一个vector内容赋值给另一个vector,及swap与assign的区别
在本文中,我们将主要介绍5种将一个vector内容赋值给另一个vector的方式,顺便讨论下swap与assign的区别。 赋值 方式一、申明时赋值 vector<int> v2; v2.push_back(0); v2.push_back(1);vector<int> v1(v2); //声明方式二、使用assign赋值…...
PMP的价值有哪些?
我个人认为,考证只有两个出发点是正确的。一是为了提升自己或者满足自己的兴趣,另一个是和自己的职业规划相关。 比如,有同学想提升自己英语能力,可以考四六级,或者更厉害一点的考雅思、托福。比如,有的同…...
OnGUI label 控件||Unity 3D GUI教程||OnGUI Background Color 控件
Unity 3D Label 控件用于在设备的屏幕上创建文本标签和纹理标签,和Box 控件类似,可以显示文本内容或图片。Label 控件一般用于显示提示性的信息,如当前窗口的名称、游戏中游戏对象的名字、游戏对玩家的任务提示和功能介绍等。具体使用方法如下…...
从 JavaScript 中的数组中删除空对象
从数组中删除空对象: 使用 Array.filter() 方法遍历数组。将每个对象传递给 Object.keys() 方法并检查键的长度是否不等于 0。filter 方法将返回一个不包含空对象的新数组。 const arr [{}, {id: 1}, {}, {id: 2}, {}];const results arr.filter(element > {…...
【C++】AVL树和红黑树(插入和测试详解)
文章目录1、AVL树1.1 AVL树的插入1.2 总结与测试AVL树2、红黑树2.1 红黑树的插入2.2 红黑树的测试了解AVL树是为了了解红黑树,了解红黑树是为了更好的理解set和map。 1、AVL树 AVL树是在二叉搜索树的基础上进行了严格的平衡,能做到平衡的关键是通过平衡…...
Centos7 安装 Mysql 8.0.32,详细完整教程(好文章!!)
mysql5.7的安装方式参考之前的文章: centos7 安装 Mysql 5.7.27,详细完整教程(好文章!!)_HD243608836的博客-CSDN博客 一、检查mysql版本冲突 先检查是否已经存在mysql,若存在卸载࿰…...
Apache Beanutils为什么被禁止使用?
收录于热门专栏Java基础教程系列(进阶篇) 在实际的项目开发中,对象间赋值普遍存在,随着双十一、秒杀等电商过程愈加复杂,数据量也在不断攀升,效率问题,浮出水面。 问:如果是你来写…...
sql server执行md5加密的时候,字符串前带N和不带N的结果是不一样的
最近因为项目的需要,报表中需要对数据进行MD5加密,结果报表系统得出来的sql语句,字符串前都自动带了N,执行时,发现得到的结果跟在数据库中执行的sql(字符串不带N)得的值不一样,最后自…...
01Python编译器和编辑器下载
Python下载 通过python官网下载:https://www.python.org/因为python官网的服务器在国外,我们可以通过腾讯软件中心下载https://pc.qq.com/search.html#!keyword=python 腾讯软件中心下载请使用普通下载,其他什么下载会自动帮你下个电脑管家(没必要) python简单描述 python…...
CHAPTER 5 自动发现、自动注册、分布式监控、SNMP监控
自动发现与自动注册5.1 自动发现与自动注册5.1.1 简介5.1.2 两种模式5.2 自动发现--被动模式5.3 自动注册--主动模式5.4 分布式监控5.4.1 介绍5.4.2 配置zabbix proxy5.5 SNMP监控5.5.1 使用范围5.5.2 安装snmp程序5.5.3 配置snmp程序5.5.4 测试snmp5.5.5 在web界面进行配置5.1…...
P5311 [Ynoi2011] 成都七中
题目描述 给你一棵 nnn 个节点的树,每个节点有一种颜色,有 mmm 次查询操作。 查询操作给定参数 lrxl\ r\ xl r x,需输出: 将树中编号在 [l,r][l,r][l,r] 内的所有节点保留,xxx 所在连通块中颜色种类数。 每次查询操…...
Python 日期和时间格式
Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。时间间隔是以秒为单位的浮点小数。每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表…...
电脑和手机的软件推荐
安卓软件 jota text 记事本 x浏览器 (支持禁js,支持嗅探 视频 音频) __ 空缺 暂未能发现好用的office软件 snapseed图片调整 可谓手机界的photoshop vidtrim视频剪辑 librera reader (无广告 电子书软件 但是发音很差 lithum或者…...
酸回收树脂的应用
酸洗废水 在轧钢、金属表面处理、电子元件制造等过程中需要清除钢材表面氧化铁皮而使用酸进行酸洗,酸洗过程中会产生废酸液和酸洗废水。 这些废酸产量大、酸度高,而且由于酸洗废水来自钢铁和金属表面处理的清洗水,水中含有多种重金属离子&am…...
windows上配置IIS全过程
文章目录1️⃣ 配置IIS1.1 从开始打开服务器管理1.2 添加角色和功能1.3 添加角色和功能向导1.4 按照如下步骤选择2️⃣ 问题:缺少源文件解决方案优质资源分享作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/1…...
软考高级信息系统项目管理师系列之十三:项目成本管理
软考高级信息系统项目管理师系列之十三:项目成本管理 一、成本管理领域输入、输出、工具和技术表二、成本管理基础知识点1.成本类型2.应急储备和管理储备3.成本基准三、项目成本管理过程1.项目成本管理的过程2.成本管理计划3.项目成本估算的主要步骤4.活动成本估算5.项目预算6…...
避坑指南:Xilinx PCIe IP的lane反序问题与GT时钟约束的隐藏陷阱
Xilinx PCIe IP实战:破解Lane反序与GT时钟约束的五大核心难题 当你在Vivado中首次生成PCIe IP核时,可能会惊讶地发现硬件实际的lane顺序与代码中的定义完全相反。这不是bug,而是Xilinx默认的设计特性。更棘手的是,GT参考时钟的自动…...
别再死记硬背了!动态规划解回文问题的填表顺序与状态定义保姆级图解
动态规划解回文问题:从填表顺序到状态定义的思维重塑 第一次接触回文串的动态规划解法时,我盯着那个双重循环的填表顺序发呆了半小时——为什么i要从n-1开始倒着遍历?为什么j又要从i开始正着遍历?更让我困惑的是,dp[i…...
企业级实验室信息管理系统:SENAITE LIMS 实战深度解析与部署指南
企业级实验室信息管理系统:SENAITE LIMS 实战深度解析与部署指南 【免费下载链接】senaite.lims SENAITE Meta Package 项目地址: https://gitcode.com/gh_mirrors/se/senaite.lims SENAITE LIMS 是一款基于 Plone 和 Python 构建的开源实验室信息管理系统&a…...
3D打印键帽革命:如何用开源模型实现机械键盘的个性化定制
3D打印键帽革命:如何用开源模型实现机械键盘的个性化定制 【免费下载链接】cherry-mx-keycaps 3D models of Chery MX keycaps 项目地址: https://gitcode.com/gh_mirrors/ch/cherry-mx-keycaps 机械键盘爱好者们是否曾为寻找完美键帽而苦恼?传统…...
深度解析:Umi-OCR Rapid版本HTTP服务参数配置的3个关键步骤
深度解析:Umi-OCR Rapid版本HTTP服务参数配置的3个关键步骤 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件,适用于Windows系统,支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com…...
Minimum Snap轨迹优化:从理论到实践的无人机巡检路径规划
1. 为什么无人机巡检需要Minimum Snap算法 去年给某电力公司做巡检方案时,他们的老飞手给我看了一段视频:无人机在高压线塔间穿行时,摄像头画面抖动得像在跳机械舞,关键部位的图像全是模糊的残影。这正是传统航点飞行模式的典型痛…...
vue-sonner:轻量级Vue通知组件的高效集成方案
vue-sonner:轻量级Vue通知组件的高效集成方案 【免费下载链接】vue-sonner 🔔 An opinionated toast component for Vue. 项目地址: https://gitcode.com/gh_mirrors/vu/vue-sonner 项目概述 vue-sonner是一个为Vue和Nuxt应用设计的轻量级通知组…...
利用快马平台快速生成proteus仿真项目,十分钟搭建arduino温湿度监测原型
作为一名电子爱好者,最近在做一个温湿度监测的小项目。传统方式需要先在电脑上安装Proteus、Arduino IDE等一堆软件,配置起来特别麻烦。后来发现了InsCode(快马)平台,简直打开了新世界的大门——不用安装任何软件,直接在网页上就能…...
C语言:结构体(自定义类型)
目录 1. 声明 1.1 结构体的声明 1.2 结构体自引用 2. 结构体内存对齐(热门考点) 2.1 对齐规则 2.3 修改默认对齐数 3.结构体传参 4. 结构体实现位段 4.1 位段 4.2 内存分配 4.3 跨平台问题 4.4 位段的应用:IP数据报 4.5 注意事项…...
LobeChat效果对比:开源框架与官方ChatGPT的对话体验
LobeChat效果对比:开源框架与官方ChatGPT的对话体验 1. 引言:为什么需要对比开源与官方方案? 在AI聊天机器人领域,开发者常常面临一个关键选择:使用官方提供的ChatGPT服务,还是部署开源框架自行搭建&…...
