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

?‍?作者名称: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全过程及详细用法到此就结束了。感谢大家的阅读,希望大家在评论区对此部分内容散发讨论,便于学到更多的知识。


请添加图片描述文章来源地址https://www.uudwc.com/A/jrzqj/

原文地址:https://blog.csdn.net/2302_79094329/article/details/132890437

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月27日 21:03
下一篇 2023年09月27日 22:03