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的注解,可以使我们的冗余代码大大减少,使得整体的代码风格更加简洁优雅

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/115843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32不使用 cubeMX实现外部中断

这篇文章将介绍如何不使用 cubeMX完成外部中断的配置和实现。 文章目录 前言一、文件加入工程二、代码解析exti.cexti.hmain.c 注意&#xff1a;总结 前言 实验开发板&#xff1a;STM32F103C8T6。所需软件&#xff1a;keil5 &#xff0c; cubeMX 。实验目的&#xff1a;如何不…

Python 测试框架unittest和pytest的优劣

一、Unittest Unittest是Python标准库中自带的单元测试框架&#xff0c;Unittest有时候也被称为PyUnit&#xff0c;就像JUnit是Java语言的标准单元测试框架一样&#xff0c;Unittest则是Python语言的标准单元测试框架。 Unittest支持自动化测试&#xff0c;测试用例的初始化、…

【单片机学习笔记】Windows+Vscode+STM32F4+freeRTOS+FatFs gcc环境搭建

为摒弃在接受keil邮件&#xff0c;研究了下gun编译&#xff0c;以STM32F407为例&#xff0c;简单记录 1. 软件包准备 Git 选择对应版本直接安装即可https://git-scm.com/download/winmakegcc ​ 1&#xff09;将上述软件包放置于C盘根目录 2&#xff09;添加环境变量 3&am…

循环神经网络(Recurrent Neural Network)

1. 为什么需要循环神经网络 RNN 上图是一幅全连接神经网络图&#xff0c;我们可以看到输入层-隐藏层-输出层&#xff0c;他们每一层之间是相互独立地&#xff0c;(框框里面代表同一层)&#xff0c;每一次输入生成一个节点&#xff0c;同一层中每个节点之间又相互独立的话&#…

07、Python -- 序列相关函数与封包解包

目录 使用函数字符串也能比较大小序列封包序列解包多变量同时赋值 最大值、最小值、长度 序列解包与封包 使用函数 len()、max()、min() 函数可获取元组、列表的长度、最大值和最小值。 字符串也能比较大小 字符串比较大小时&#xff0c;将会依次按字符串中每个字符对应的编…

GB28181学习(十二)——报警事件通知和分发

要求 发生报警事件时&#xff0c;源设备将报警信息发送给SIP服务器&#xff1b;报警事件通知和分发使用MESSAGE方法&#xff1b;源设备包括&#xff1a; SIP设备网关SIP客户端联网系统综合接处警系统以及卡口系统 目标设备包括&#xff1a; 具有接警功能的SIP客户端联网系统综…

学习pytorch14 损失函数与反向传播

神经网络-损失函数与反向传播 官网损失函数L1Loss MAE 平均MSELoss 平方差CROSSENTROPYLOSS 交叉熵损失注意code 反向传播在debug中的显示code B站小土堆pytorch视频学习 官网 https://pytorch.org/docs/stable/nn.html#loss-functions 损失函数 L1Loss MAE 平均 import to…

nginx安装详细步骤和使用说明

下载地址&#xff1a; https://download.csdn.net/download/jinhuding/88463932 详细说明和使用参考&#xff1a; 地址&#xff1a;http://www.gxcode.top/code 一 nginx安装步骤&#xff1a; 1.nginx安装与运行 官网 http://nginx.org/1.1安装gcc环境 # yum install gcc-c…

2022最新版-李宏毅机器学习深度学习课程-P26 Recurrent Neural Network

RNN 应用场景&#xff1a;填满信息 把每个单词表示成一个向量的方法&#xff1a;独热向量 还有其他方法&#xff0c;比如&#xff1a;Word hashing 单词哈希 输入&#xff1a;单词输出&#xff1a;该单词属于哪一类的概率分布 由于输入是文字序列&#xff0c;这就产生了一个问…

如何能够获取到本行业的能力架构图去了解自己的能力缺陷与短板,从而能清晰的去弥补差距?

如何能够获取到本行业的能力架构图去了解自己的能力缺陷与短板&#xff0c;从而能清晰的去弥补差距&#xff1f; 获取并利用能力架构图&#xff08;Competency Model&#xff09;来了解自己在特定行业或职位中的能力缺陷和短板&#xff0c;并据此弥补差距&#xff0c;是一个非常…

【PyTorch实战演练】自调整学习率实例应用(附代码)

目录 0. 前言 1. 自调整学习率的常用方法 1.1 ExponentialLR 指数衰减方法 1.2 CosineAnnealingLR 余弦退火方法 1.3 ChainedScheduler 链式方法 2. 实例说明 3. 结果说明 3.1 余弦退火法训练过程 3.2 指数衰减法训练过程 3.3 恒定学习率训练过程 3.4 结果解读 4. …

软件工程第七周

内聚 耦合 (Coupling): 描述的是两个模块之间的相互依赖程度。控制耦合是耦合度的一种&#xff0c;表示一个模块控制另一个模块的流程。高度的耦合会导致软件维护困难&#xff0c;因为改变一个模块可能会对其他模块产生意外的影响。 内聚 (Cohesion): 描述的是模块内部各个元素…

虚拟机weblogic服务搭建及访问(物理机 )

第一、安装环境&#xff1a; weblogic10.3.6.jar, jdk1.6.bin(开始安装jdk1.8后&#xff0c;安装域的时候报错 &#xff0c;版本很重要&#xff09; centos7虚拟机&#xff08;VMware9&#xff09; 本机系统windows7 以上安装包如果需要可以私信我&#xff0c;上传资源提示…

yolov8x-p2 实现 tensorrt 推理

简述 在最开始的yolov8提供的不同size的版本&#xff0c;包括n、s、m、l、x&#xff08;模型规模依次增大&#xff0c;通过depth, width, max_channels控制大小&#xff09;&#xff0c;这些都是通过P3、P4和P5提取图片特征&#xff1b; 正常的yolov8对象检测模型输出层是P3、…

【WCA-KELM预测】基于水循环算法优化核极限学习机回归预测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Python实现一个简单的http服务,Url传参输出html页面

摘要 要实现一个可以接收参数的HTTP服务器&#xff0c;您可以使用Python标准库中的http.server模块。该模块提供了一个简单的HTTP服务器&#xff0c;可以用于开发和测试Web应用程序。 下面是一个示例代码&#xff0c;它实现了一个可以接收参数的HTTP服务器&#xff1a; 代码…

跨境商城源码可以定制开发吗?

跨境电商已经成为了一个全球性的趋势&#xff0c;而跨境商城源码定制开发是否可行&#xff0c;一直是广大电商从业者心中的疑问。跨境商城源码定制开发是指在已有的商城源码的基础上&#xff0c;进行个性化需求的修改和开发&#xff0c;以满足商家在跨境电商中的特定需求。下面…

一、XSS加解密编码解码工具

一、XSS加解密编码解码工具 解释&#xff1a;使用大佬开发的工具&#xff0c;地址&#xff1a;https://github.com/Leon406/ToolsFx/blob/dev/README-zh.md 在线下载地址&#xff1a; https://leon.lanzoui.com/b0d9av2kb(提取码&#xff1a;52pj)&#xff08;建议下载jdk8-w…

javaEE -6(10000详解文件操作)

一&#xff1a;认识文件 我们先来认识狭义上的文件(file)。针对硬盘这种持久化存储的I/O设备&#xff0c;当我们想要进行数据保存时&#xff0c;往往不是保存成一个整体&#xff0c;而是独立成一个个的单位进行保存&#xff0c;这个独立的单位就被抽象成文件的概念&#xff0c…

Linux:firewalld防火墙-基础使用(2)

上一章 Linux&#xff1a;firewalld防火墙-介绍&#xff08;1&#xff09;-CSDN博客https://blog.csdn.net/w14768855/article/details/133960695?spm1001.2014.3001.5501 我使用的系统为centos7 firewalld启动停止等操作 systemctl start firewalld 开启防火墙 systemct…