IDEA2023中使用SpringBoot整合Lombok全过程及详细用法

news2024/10/7 19:30:50

🧑‍💻作者名称:DaenCode
🎤作者简介:CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开发。技术尚浅,闭关学习中······

😎人生感悟:尝尽人生百味,方知世间冷暖。
📖所属专栏:SpringBoot实战


系列文章目录

以下是专栏部分内容,更多内容请前往专栏查看!

标题
一文带你学会使用SpringBoot+Avue实现短信通知功能(含重要文件代码)
一张思维导图带你学会Springboot创建全局异常、自定义异常
一张思维导图带你打通SpringBoot自定义拦截器的思路
28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈
一张思维导图带你学会SpringBoot、Vue前后端分离项目线上部署
一张流程图带你学会SpringBoot结合JWT实现登录功能
一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件
一张思维导图带你学会使用SpringBoot异步任务实现下单校验库存
一张思维导图带你学会SpringBoot使用AOP实现日志管理功能

在这里插入图片描述


专栏推荐

  • 专门为Redis入门打造的专栏,包含Redis基础知识、基础命令、五大数据类型实战场景、key删除策略、内存淘汰机制、持久化机制、哨兵模式、主从复制、分布式锁等等内容。链接>>>>>>>>>《Redis从头学》
  • 专门为RabbitMQ入门打造的专栏,持续更新中。。。。。。。。链接>>>>>>>《图解RabbitMQ》

文章目录

  • 系列文章目录
  • 专栏推荐
  • 🌟Lombok介绍
  • 🌟引入依赖
  • 🌟常用注解及用法
  • 🌟IDEA中的配置
  • 🌟用法举例
    • @Getter、@Setter
    • @ToString
    • @EqualsAndHashCode
    • @NoArgsConstructor
    • AllArgsConstructor
    • @Data
    • @Builder
    • @Slf4j
    • @RequiredArgsConstructor
  • 🌟写在最后


🌟Lombok介绍

以下解释来源于百度百科

Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要有一个注解,就有一个功能齐全的构建器、自动记录变量等等。

目的:为了提升开发效率,减少重复代码的执行。


🌟引入依赖

<dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
</dependency>

🌟常用注解及用法

注解作用于说明
@Getter字段自动生成字段的getter方法
@Setter字段自动生成字段的setter方法
@ToString自动生成toString()方法
@EqualsAndHashCode自动生成equals()hashCode()方法
@NoArgsConstructor自动生成无参构造函数
@AllArgsConstructor自动生成全参构造函数
@Data包含了@ToString@EqualsAndHashCode@Getter@Setter的功能
@Builder类或者方法自动生成建造者模式的代码
@Slf4j类或者字段自动生成private static final org.slf4j.Logger 字段,用于日志记录
@RequiredArgsConstructor生成包含必需参数的构造函数

🌟IDEA中的配置

1.下载插件。File-》Settings-》Plugins-》Marketplace。我这里是安装好了。
在这里插入图片描述
2.注解处理器开启。
在这里插入图片描述


🌟用法举例

@Getter、@Setter

使用了 @Getter 和 @Setter 注解,通过这两个注解,Lombok 会自动生成 getName() 和 setName() 方法以及 getAge() 和 setAge() 方法。

import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Person {
    private String name;
    private int age;
}

@ToString

使用 @ToString 注解后,Lombok 会自动生成 toString() 方法。该方法将输出对象的类名以及对象的所有字段和它们的值。

import lombok.ToString;
@ToString
public class Person {
    private String name;
    private int age;
}

@EqualsAndHashCode

使用 @EqualsAndHashCode 注解后,Lombok 会自动生成 equals() 和 hashCode() 方法。这些方法根据对象的字段生成相应的 equals 和 hashCode 实现。

import lombok.EqualsAndHashCode;

@EqualsAndHashCode
public class Person {
    private String name;
    private int age;
}

@NoArgsConstructor

Lombok 会自动生成无参构造函数。

import lombok.NoArgsConstructor;

@NoArgsConstructor
public class Person {
    private String name;
    private int age;
}

AllArgsConstructor

Lombok 会自动生成包含所有字段的全参构造函数

import lombok.AllArgsConstructor;

@AllArgsConstructor
public class Person {
    private String name;
    private int age;
}

@Data

Lombok 会自动生成 @ToString、@EqualsAndHashCode、@Getter 和 @Setter 的功能

import lombok.Data;

@Data
public class Person {
    private String name;
    private int age;
}

@Builder

Lombok 会自动生成建造者模式的代码。Person.builder().name(“John”).age(25).build() 来创建 Person 对象。

import lombok.Builder;

@Builder
public class Person {
    private String name;
    private int age;
}

@Slf4j

Lombok 会自动生成一个名为 log 的 private static final org.slf4j.Logger 字段,用于日志记录。

import lombok.extern.slf4j.Slf4j;
@Slf4j
public class Example {
    public void someMethod() {
        log.info("Log message");
        log.warn("Warning message");
        log.error("Error message");
        log.debug("Debug message");
    }
}

@RequiredArgsConstructor

Lombok 会自动生成一个构造函数,该构造函数仅包含被 final 修饰的字段。

import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public class Person {
    private final String name;
    private final int age;
    private String address;
}

🌟写在最后

有关于IDEA2023中使用SpringBoot整合Lombok全过程及详细用法到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。


请添加图片描述

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

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

相关文章

在TensorFlow中使用GAN生成图像

一、说明 本文详细论述&#xff0c;如何在tensorflow下&#xff0c;在mnist数据集合上进行GAN实现。包括&#xff1a;框架建立、数据集读出、生成器、鉴别器、代价函数、优化等具体步骤的代码实现。 二、GAN框架介绍 生成器&#xff1a;此组件负责生成新图像。鉴别器&#xf…

OPC DCOM快速配置

目录 1 老系统配置 1.1 移除Windows 安全 1.2 建立相互能识别的用户账号 1.3 配置系统宽泛的DCOM设置 1.4 配置Server的特殊DCOM设置 1.5 恢复Windows安全 1 老系统配置 远程OPC访问必须在服务器和客户端两端配置DCOM。本文讲述如何正确配置 DCOM 的步骤并保证安全。 新…

classification_report

文章目录 classification_report混淆矩阵精确率(精准率)&#xff0c;召回率&#xff0c;F1值精确率召回率F1值精确率、召回率和F1值的应用 参考文献 classification_report 假设使用sklearn.metrics.classification_report生成的分类图像如下图所示&#xff1a; 列名&#xf…

大模型对外提供应用的三种服务方式及示例

最近在研究Llama大模型的本地化部署和应用测试过程中&#xff0c;为了给大家提供更多的应用方式&#xff0c;研究了如何利用python快速搭建各种应用访问服务&#xff0c;一般来说&#xff0c;我们开发完成的软件模块为了体现价值&#xff0c;都需要对外提供服务&#xff0c;最原…

C++ PrimerPlus 复习 第一章 命令编译链接文件 make文件

第一章 命令编译链接文件 C 有什么呢&#xff1f;C 源代码文件后缀运行C过程可执行代码&#xff1a;编译语法&#xff1a;makeMakefile 基础语法编写完make只要和将要编译的文件放一起就行 然后在该目录使用make命令&#xff0c;就将自动运行&#xff1b;基础的Makefile版本 现…

GaussDB(DWS)云原生数仓技术解析:湖仓一体,体验与大数据互联互通

文章目录 前言一、关于数据仓库需求场景分类二、数据仓库线下部署场景2.1、线下部署场景介绍及优劣势说明2.2、线下部署场景对应的客户需求 三、数据仓库公有云部署场景3.1、公有云部署场景介绍及优劣势说明3.2、公有云部署场景对应的客户需求 四、为何重视数据共享&#xff08…

【洛谷 P1364】医院设置 题解(图论+深度优先搜索)

医院设置 题目描述 设有一棵二叉树&#xff0c;如图&#xff1a; 其中&#xff0c;圈中的数字表示结点中居民的人口。圈边上数字表示结点编号&#xff0c;现在要求在某个结点上建立一个医院&#xff0c;使所有居民所走的路程之和为最小&#xff0c;同时约定&#xff0c;相邻接…

windows彻底卸载unity

1.控制面板卸载 双击打开桌面的控制面板&#xff0c;选择卸载程序&#xff0c;选中Unity和UnityHub右击卸载。 2.清除unity的注册表 在运行中输入“regedit”双击打开注册表界面 删除 HKEY_CURRENT_USER\Software\Unity 下所有项 删除 HKEY_CURRENT_USER\Software\Unity Tec…

项目:TCP在线云词典

一.要求 1.搭建的框架环境中实现并发&#xff0c;实现多个用户同时查询的功能。 2.服务器分别保存每个用户的使用记录&#xff0c;客户端可以查询日志的功能。 3.基本的查询单词的功能。 4.密码验证的功能&#xff0c;实现登录验证账号和密码是否正确。 二.流程和框架 框架 …

【Spring容器的启动过程】

Spring容器的启动过程 Spring 在初始化过程中有二个非常重要的步骤&#xff0c;容器的初始化与刷新。 初始化流程 如果想生成 bean 对象&#xff0c;那么就需要一个 beanFactory 工厂&#xff08;DefaultListableBeanFactory&#xff09;如果想让加了特定注解&#xff08;如 …

爬虫数据存储:技术、策略与实践(一)

文章目录 &#x1f34b;引言&#x1f34b;xlrd库和xlwt库&#x1f34b;创建Excel文件&#x1f34b;通过Python代码向Excel写入数据&#x1f34b;案例实战 &#x1f34b;引言 本节主要介绍一下在使用网络爬虫技术的时候&#xff0c;如何将数据存储到Excel中去 &#x1f34b;xl…

云原生之使用Docker部署Teedy轻量级文档管理系统

云原生之使用Docker部署Teedy轻量级文档管理系统 一、Teedy介绍1.1 Teedy简介1.2 Teedy特点 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载Teedy镜像五、部署Teedy轻量级文…

git 本地工作区和仓库区基本使用

(1)git 本地有三个区 工作区和暂存区和 git管理的仓库. &#xff08;自行动手实践理解,然后就入门了&#xff09;(2)本地初次使用git做的事情,需要做如下工作 git config --global user.name "xx" git config --global user.email xxxqq.com git config --globa…

山西电力市场日前价格预测【2023-09-15】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-09-15&#xff09;山西电力市场全天平均日前电价为338.85元/MWh。其中&#xff0c;最高日前电价为415.06元/MWh&#xff0c;预计出现在19: 15。最低日前电价为270.06元/MWh&#xff0c;预计…

OPC是通讯协议吗安全性

目录 1 安全防护 1.1 防火墙 1.2 网闸 2 OPC是通讯协议吗 2.1 什么通讯协议 2.2 那么OPC又是什么&#xff1f; OPC官方说明文档 1 安全防护 本文阐述了控制网络以OPC接口接入信息网络应当采用的安全防护。 1.1 防火墙 防火墙是大家熟知的网络安全产品,并被用作控制网…

laravel8框架-语言包的安装和配置

1, 查找 laravel框架语言包地址&#xff1a; \根目录\resources\lang\ 默认有个 en 语言包 2&#xff0c;下载 和 安装 下载地址&#xff1a;https://packagist.org/ 搜索 laravel/lang 参考网址&#xff1a;https://packagist.org/packages/overtrue/laravel-lang 选择你…

ARM Linux DIY(十一)板子名称、开机 logo、LCD 控制台、console 免登录、命令提示符、文件系统大小

文章目录 前言板子名称uboot Modelkernel 欢迎词、主机名 开机 logoLCD 控制台console 免登录命令提示符文件系统大小 前言 经过前面十篇文章的介绍&#xff0c;硬件部分调试基本完毕&#xff0c;接下来的文章开始介绍软件的个性化开发。 板子名称 uboot Model 既然是自己的…

Games101作业0(vscode连接VB虚拟机)

作业0 配置环境: 基本配置在pa0中都有,下面介绍使用vscode连接VB虚拟机快捷开发 vscode连接VB虚拟机 1.用户名 可以看到Username为cs18并非为css180 2.密钥 在window主机生成密钥 ssh-keygen #一路回车3.VB虚拟机配置ssh sshd_config配置 cd /etc/ssh/ vim sshd_confi…

丰田工厂停产竟然因为磁盘...

丰田因磁盘空间不足关闭14家工厂 在如今的信息时代&#xff0c;无论是生活还是工作&#xff0c;我们都离不开计算机和网络。然而&#xff0c;令人惊讶的是&#xff0c;一家全球知名的汽车制造商——丰田&#xff0c;却因为磁盘空间不足的问题&#xff0c;被迫关闭了14家工厂。…

DP专题2 爬楼梯|

题目&#xff1a; 思路&#xff1a; 根据题意&#xff0c;我们先找到对应的 n 阶台阶的方案数是多少。 n 1 f(n) 1 n 2 f(n) 2 n 3 f(n) 3 n 4 f(n) 5 n 5 f(n) 8 ...... ...... n n f(n) f(n - 2) f(n - 1…