当前位置: 首页 > news >正文

SpringBoot Lombok的使用

目录

下载Lombok插件

Lombok的用法

获取日志对象

生成get,set方法

Lombok框架的实现原理

Lombok的常用注解


下载Lombok插件

要使用Lombok首先要确保idea安装了lombok插件

在项目中添加 lombok依赖

在<dependency>里右键生成点击edit starters 插件(没有就下载,可以快捷生成依赖)

Lombok的用法

获取日志对象

在传统的写法中,我们需要写出以下的代码生获取日志对象

而在添加了lombok依赖后,我们只需要添加注解  @slf4j即可

依然可以成功打印日志

生成get,set方法

例如: 我们创建一个学生类,然后给这个类添加注解: @Getter @Setter  

注意要选择lombok包下的注解

此时,lombok就会自动帮我们生成getter 和 setter方法,不再需要我们去手动构造

Lombok框架的实现原理

在之前的学习中我们知道,我们所写的java代码( .java文件 )是需要经过编译生成字节码( .class 文件)的,然后才能加载到JVM上运行

而lombok框架就是在编译的时候,根据注解去自动生成相应的代码,可以理解为帮程序员补全了代码,然后再编译成字节码,而JVM是不关心这些的,在它看来,前后两者的 .class文件(字节码) 都是相同的,因此最后呈现的效果也是相同的

我们可以查看idea里的 target文件来加深理解

在原本的 LogController 类中,我们使用了 @slf4j 来获取日志对象

而当我们点开target的 .class文件 却发现,java代码已经自动替换成了如下

注解@slf4j 不见了

然后自动补全了获取日志对象的代码

所以,Lombok 是不会影响程序运行的信能的,它要完成的工作都是在编译生成字节码文件前完成的。

Lombok的常用注解

基本注解:

组合注解:

日志注解:

通过使用lombok的注解,可以使我们的冗余代码大大减少,使得整体的代码风格更加简洁优雅

相关文章:

SpringBoot Lombok的使用

目录 下载Lombok插件 Lombok的用法 获取日志对象 生成get,set方法 Lombok框架的实现原理 Lombok的常用注解 下载Lombok插件 要使用Lombok首先要确保idea安装了lombok插件 在项目中添加 lombok依赖 在<dependency>里右键生成点击edit starters 插件(没有就下载,可…...

后台管理系统SQL注入漏洞

对于edu来说&#xff0c;是新人挖洞较好的平台&#xff0c;本次记录一次走运的捡漏0x01 前景 在进行fofa盲打站点的时候&#xff0c;来到了一个后台管理处看到集市二字&#xff0c;应该是edu站点 确认目标身份&#xff08;使用的quake进行然后去ipc备案查询&#xff09; 网…...

变量常用函数

查看变量类型 type(变量名) 用来查询变量所指的对象类型 >>> a, b, c, d 20, 5.5, True, 43j >>> print(type(a), type(b), type(c), type(d)) <class int> <class float> <class bool> <class complex> 基础数据类型 # coding…...

从零学算法(LCR 157)

某店铺将用于组成套餐的商品记作字符串 goods&#xff0c;其中 goods[i] 表示对应商品。请返回该套餐内所含商品的 全部排列方式 。 返回结果 无顺序要求&#xff0c;但不能含有重复的元素。 示例 1: 输入&#xff1a;goods “agew” 输出&#xff1a;[“aegw”,“aewg”,“ag…...

mysql 优化 聚簇索引=主键索引吗

在 InnoDB 引擎中&#xff0c;每张表都会有一个特殊的索引“聚簇索引”&#xff0c;也被称之为聚集索引&#xff0c;它是用来存储行数据的。一般情况下&#xff0c;聚簇索引等同于主键索引&#xff0c;但这里有一个前提条件&#xff0c;那就是这张表需要有主键&#xff0c;只有…...

c# ManualResetEvent WaitHandle 实现同步

//本文演示了ManualResetEvent 类的非静态set()、Reset()、WaitOne()和 //WaitHandle类的静态方法WaitAllWaitAll() //它们用于线程间的同步控制。 //实现了如下功能&#xff1a;线程1&#xff08;定时控制&#xff09;通知线程2和线程3采集数据 //线程2和3数据采集完了&am…...

使用Packstack安装器安装一体化OpenStack云平台

【实训目的】 初步掌握OpenStack快捷安装的方法。掌握OpenStack图形界面的基本操作。 【实训准备】 &#xff08;1&#xff09;准备一台能够安装OpenStack的实验用计算机&#xff0c;建议使用VMware虚拟机。 &#xff08;2&#xff09;该计算机应安装CentOS 7&#xff0c;建…...

【Rust】4 一文讲解重点 pattern matching | trait | 生命周期 | 闭包 | 迭代器 | 智能指针 | 并发与并行

文章目录 一、pattern matching二、trait2.1 常见 trait2.1.1 Copy 和 Clone2.1.2 PartialEq 和 Eq2.1.3 PartialOrd 和 Ord2.1.4 Hash2.1.5 From, Into, TryFrom, TryInto 2.2 概念2.2.1 关联类型2.2.2 关联常量2.3.3 泛型关联类型2.3.3.1 示例: 用泛型关联类型, 创建集合工厂…...

idea Java代码格式化规范

文章目录 引入基础知识代码模板idea模板eclipse模板1.安装插件2.生成配置文件3.导入配置文件 附录一&#xff1a;xml配置项说明附录二&#xff1a;赠送 引入 最近在公司开发中&#xff0c;遇到了一点小问题&#xff0c;组内各同事的格式化规范不一致。一来导致代码样式并不统一…...

apple MFI工厂认证,干货,为防止MFI工作人员查看,已设置VIP阅读

一开始以为审核特别严格,准备了好久,经历过了之后会发现很简单,1个小时完成了所有审核事项。 好好招待审计员,比如能接送就接送,到点吃饭就尽量约时间吃饭后再审计,找个正式的会议室,该摆盘水果就摆上,让审计员感觉到公司是很重视这次的MFI审核,但是不能贿赂发红包那…...

软件企业知识库应用场景?如何搭建软件企业知识库?

想要减少人工干预、减少不必要的时间和人力成本、快速获取准确信息……这些应用场景对于我们企业来说是非常渴望在短期内实现的。 软件企业知识库 因为传统知识库仅仅是存储&#xff1a;知识只是“存储”&#xff0c;根本用不起来&#xff0c;缺乏有效的管理方式和储存载体&am…...

华为OD 滑动窗口最大值(100分)【java】B卷

华为OD统一考试A卷+B卷 新题库说明 你收到的链接上面会标注A卷还是B卷。目前大部分收到的都是B卷。 B卷对应20022部分考题以及新出的题目,A卷对应的是新出的题目。 我将持续更新最新题目 获取更多免费题目可前往夸克网盘下载,请点击以下链接进入: 我用夸克网盘分享了「华为O…...

软件测试 (用例篇)

前言 上一篇博客讲述的是一次基本的测试过程。 在我们开始做了一段时间基础测试&#xff0c;熟悉了业务之后&#xff0c;往往会分配来写测试用例&#xff0c;并且在日常测试中&#xff0c;有时也需要补充测试用例到现有的案例库中。 在这里我们将回答以下问题 1、测试用例的…...

5G技术的飞速发展:连接未来

随着科技的日益进步&#xff0c;5G通讯技术已经成为了全球科技领域的热门话题。5G&#xff0c;即第五代移动通信技术&#xff0c;带来的不仅仅是更快的网络速度&#xff0c;它的高带宽和低延迟特性将为未来的数字世界奠定基础。 速度与效率的飞跃: 5G技术的最大亮点是它极高的下…...

linux进程管理,一个进程的一生(喂饭级教学)

这篇文章谈谈linux中的进程管理。 一周爆肝&#xff0c;创作不易&#xff0c;望支持&#xff01; 希望对大家有所帮助&#xff01;记得收藏&#xff01; 要理解进程管理&#xff0c;重要的是周边问题&#xff0c;一定要知其然&#xff0c;知其所以然。看下方目录就知道都是干货…...

【SA8295P 源码分析 (四)】51 - QNX NFS Server + Android NFS Client 完整配置

【SA8295P 源码分析】51 - QNX NFS Server + Android NFS Client 完整配置 一、QNX 侧 NFS Server 修改:ip 为 192.168.118.21.1 配置拷贝 nfsd、rpcbind 到 /mnt 目录下1.2 配置 exports1.3 为NFS 共享目录挂载镜像1.4 修 startup.sh 开机自启动 nfsd Server1.5 关闭 QNX 防火…...

2023年10月23日--10月29日(主攻光追视频教程)

最好每周完成一样&#xff0c;将来每月完成一样&#xff0c;有成就感。也免得周末迷茫。 光锥目前还有56节&#xff0c; 周二到周五每天4小节。周六日每天20小节&#xff0c;应该可以完成。 即&#xff1a; 周二&#xff1a;9.5-9.8 周三&#xff1a;9.9-10.3 周四&#xff1a…...

【Python语言速回顾】——函数模块类与对象

目录 引入 一、函数 1、函数概述 2、参数和返回值 3、函数的调用 二、模块 1、模块概述 2、模块应用实例 三、类与对象 1、面向对象概述 2、类 3、类的特点 引入 为了使程序实现的代码更加简单。需要把程序分成越来越小的组成部分&#xff0c;3种方式——函数、对象…...

【JavaEE】Java的多线程编程基础知识 -- 多线程篇(2)

Java多线程编程基础知识 一、多线程的创建二、Thread类常用的方法和API2.1 Thread 的几个常见的属性2.2 start 启动一个线程2.3 终止一个线程2.4 等待一个线程-join()2.5 线程休眠函数 -sleep() 三、线程状态3.1 观察所有线程的状态3.2 线程状态和线程转移的意义 四、线程安全&…...

MFC Windows 程序设计[330]之表头控件例程(附源码)

MFC Windows 程序设计[330]之表头控件例程 程序之美前言主体运行效果核心代码逻辑分析结束语程序之美 前言 MFC是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含大量Wind…...

DuckDB 1.4.3 LTS:轻量级分析型数据库的新选择

DuckDB 1.4.3 LTS&#xff1a;轻量级分析型数据库的新选择 在数据管理与分析的领域中&#xff0c;开源软件始终扮演着至关重要的角色&#xff0c;为开发者、数据分析师等提供了丰富多样的工具。DuckDB 1.4.3 LTS 作为一款开源软件&#xff0c;正逐渐在特定场景下崭露头角&#…...

数字电路基础:从二极管到CMOS的门电路实现

1. 数字世界的基石&#xff1a;门电路与高低电平 第一次接触数字电路时&#xff0c;我被一个简单却深刻的概念震撼了——原来计算机里所有的复杂运算&#xff0c;归根结底都是由"开"和"关"两种状态完成的。这种二值逻辑的实现&#xff0c;就是通过我们常说…...

快速搭建人脸分析系统:Face Analysis WebUI新手部署指南

快速搭建人脸分析系统&#xff1a;Face Analysis WebUI新手部署指南 1. 为什么选择Face Analysis WebUI&#xff1f; 在当今数字化时代&#xff0c;人脸分析技术正广泛应用于各个领域。Face Analysis WebUI基于InsightFace框架&#xff0c;将复杂的人脸分析功能封装成简单易用…...

Spring Boot 4.0发布倒计时72小时:这份内部泄露的Agent性能基准测试报告,已助17家头部企业提前锁定RT<50ms SLA

第一章&#xff1a;Spring Boot 4.0 Agent-Ready 架构概览Spring Boot 4.0 引入了原生支持 Java Agent 的运行时架构设计&#xff0c;标志着框架从“启动即固化”向“运行时可塑”范式的重大演进。该架构将可观测性、动态配置、字节码增强与安全策略注入等能力下沉至 JVM 层级&…...

Coqui STT语言模型构建:如何创建高效的语音识别评分器

Coqui STT语言模型构建&#xff1a;如何创建高效的语音识别评分器 【免费下载链接】STT &#x1f438;STT - The deep learning toolkit for Speech-to-Text. Training and deploying STT models has never been so easy. 项目地址: https://gitcode.com/gh_mirrors/st/STT …...

插件开发——upgrade 插件版本升级

upgrade 插件版本升级插件在更新迭代版本时&#xff0c;可能需要进行业务升级每个版本数据库变更文件存放位置文件位置&#xff1a;niucloud-addon/插件名称/src/main/resources/插件名称/upgrade/一键升级在 admin 端进行在线升级&#xff0c;升级的时候会执行 sql 文件...

TS初相识

目录 前言&#xff1a; 关于TS 使用TS之前的环境搭配 TS的数据类型 number string null&undefined 根类型 数组类型 元组 函数类型 前言&#xff1a; js的缺点 错误出现的时机靠后 数据类型并不是连续的内存空间 js没有类型检测机制&#xff08;弱类型&#…...

FISCO BCOS 日常操作使用托管签名服务(如WeBASE-Sign),业务系统不直接接触私钥

实战:如何通过WeBASE-Sign实现私钥托管与安全签名 目录 引言 一、为什么需要签名分离 1.1 传统签名的安全困境 1.2 签名分离的架构优势 1.3 适用场景 二、WeBASE-Sign 签名服务核心原理 2.1 整体架构 2.2 核心接口 2.3 交易流程中的签名位置 三、实战:完整接入流程…...

VL53L0X ToF测距模块Arduino驱动详解

1. 项目概述Deneyap Derinlik ler&#xff0c;即 Deneyap ToF Range Finder Sensor&#xff0c;是一款基于 STMicroelectronics VL53L0X 飞行时间&#xff08;Time-of-Flight, ToF&#xff09;测距传感器的 Arduino 兼容硬件模块。该模块专为土耳其 Deneyap 教育生态设计&#…...

PxMatrix LED矩阵驱动库:高性能HUB75显示方案详解

1. PxMatrix LED MATRIX 库概述PxMatrix 是一款专为嵌入式平台设计的高性能 RGB LED 矩阵驱动库&#xff0c;原生支持 ESP8266&#xff08;NodeMCU/WeMos&#xff09;、ESP32&#xff08;WROVER/WROOM&#xff09;及 ATmega328P/ATmega2560 等主流微控制器。其核心定位是为 321…...