2.2 Lombok使用介绍

【Lombok】MacBook下在IDEA2020.2版本中使用@Data没反应 & IDEA2020.2版本如何安装Lombok 需要安装Lombok插件,Lombok插件在IDEA2020.2版本的插件商店中是没有的,需要自己从JetBrains官网下载,下载链接在这里。 下载完成后,通过Preferences - Plugins - Install Plugin from Disk导入。 Apply - OK后,再重启一下IDEA,就可以使用啦。 注意@Data只引入了无参constructor,需要添加@AllArgsConstructor注解才可以使用有参constructor。 ... 阅读详情


1.概述

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

在Java中,封装是一个非常好的机制,最常见的封装莫过于get,set方法了,无论是Intellij idea 还是Eclipse,都提供了快速生成get,set方法的快捷键,使用起来很是方便,但是,我们还可以通过Lombok实现更加便捷的操作。

2.下载配置

想在开发过程中使用Lombok,首先要在项目中添加对应的依赖:

<!--引入插件lombok 自动的set/get/构造方法插件  -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

然后在插件管理中下载Lombok插件:
请添加图片描述

3.使用

Lombok提供注解方式来提高代码的简洁性,常用注解有:

  • @Data:相当于同时加上以下注解@Setter @Getter,@ToString,@EqualsAndHashCode等注解
  • @Setter/@Getter:自动生成get,set方法.
  • @NonNull:快速判断是否为空,如果为空,则抛出java.lang.NullPointerException
  • @Synchronized:自动添加到同步机制,要注意的是,生成的代码并不是直接锁方法,而是锁代码块, 作用范围是方法上
  • @ToString:自动生成toString方法,同时其可以设置多个属性
    • callSuper 是否输出父类的toString方法,默认为false
    • includeFieldNames 是否包含字段名称,默认为true
    • exclude 排除生成tostring的字段
  • @EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode。
  • @Cleanup:可用于确保已分配的资源被释放,如IO的连接关闭。
  • @SneakyThrows:将当前方法抛出的异常,包装成RuntimeException,骗过编译器,使得调用点可以不用显示处理异常信息。

我们在当前项目结构中创建pojo目录,存放我们的数据模型代码User类:

package com.study.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * POJO写法说明:
 *  1.必须有get/set方法
 *  2.必须实现序列化接口 数据流传输/socket通讯
 *
 * 注解说明:
 * @Data 自动生成get/set/toString/equals/hashcode等方法
 * @Accessors(chain = true)  重写了Set方法..
 */
@Data
@Accessors(chain = true)
@NoArgsConstructor  //无参构造
@AllArgsConstructor //全参构造
public class User implements Serializable {
    private Integer id;
    private String name;
    private Integer age;
    private String sex;

   /* public void setId(Integer id){
        this.id = id;
    }

    public User setId(Integer id){
        this.id = id;
        //this 代表当前对象 运行期有效
        return this;
    }*/
}

@Accessors(chain = true)注解可以以下列方式重写set方法,实现后续链式加载的功能:

public User setId(Integer id){
        this.id = id;
        //this 代表当前对象 运行期有效
        return this;
    }

使用链式加载可以方便我们的操作,对一个对象进行赋值时,只写一个变量即可:

package com.study;

import com.study.pojo.User;

public class SpringbootDemo1ApplicationTests {
    public void testLombok(){ 
        User user = new User();
        user.setId(1).setAge(11).setName("Lombok").setSex("男");
    }
}

LabVIEW电压信号采集系统:从零搭建到科研实战 本文详细介绍了如何从零开始搭建一个基于LabVIEW的电压信号采集系统。内容涵盖硬件选型(如NI USB-6002数据采集卡)、软件环境配置、核心程序开发(包括多通道同步采集、数据自动保存)以及高级功能优化。系统支持自定义采样率与时长,并提供了完整的LabVIEW程序框图和配套的Python数据分析脚本,旨在帮助科研人员和工程师快速构建稳定、高效的专属数据采集方案,提升实验自动化水平。 阅读详情

相关推荐

SpringBoot框架,使用Log4j2+Lombok引入日志的方法

日志分为不同的级别,我比较常用的就是:debug,info,error。 对于一个系统来说,日志是很重要的部分,日志可以帮助我们快速查找系统相关异常,可以帮助开发人员调试程序,可以监控系统程序运行情况。 项目中使用log4j2打印日志是常用的方法,如果集成lombok插件,会使日志变的更简单可控。 下面,我们主要就使用IDEA编译器,在SpringBoot框架下,使用Log4j2+Lombok集成日志的方法:

Java Punk 1万+

计算机网络之NAT的解释与实验配置

NAT 静态NAT 动态NAT easy_ip NAT服务器映射

爱学习的JackYang的博客 1911

JDK和Lombok版本兼容问题

@Getter @AllArgsConstructor public enum XXX { ADD("ADD"), UPDATE("UPDATE"), DELETE("DELETE"), ; private String operateType; } 错误:java: constructor LanguageOperateTypeEnum in enum com.timevale.open.service.enums.LanguageOperateT.

u011393781的博客 4442

WRF模型下中国土地利用数据替换USGS-24分类的完整实践指南

本文提供了在WRF模型中,将中国土地利用数据替换默认USGS-24分类的完整实践指南。详细阐述了替换下垫面数据的必要性,并分步讲解了数据准备、坐标转换、分类体系重映射、格式转换及配置文件修改等核心操作,旨在帮助用户提升针对中国区域的模拟精度。

salt的博客 776

突破Cloudflare 5秒盾!Python爬虫+GPT分析JS混淆实战(附完整代码)

这篇文章的核心观点其实不是“怎么过CF”,而是如何把LLM嵌入逆向工程的工作流。AI不会取代逆向工程师,但它正在重新定义逆向工程师的工作方式。过去我们80%的时间花在读懂混淆代码上,现在这部分可以外包给GPT,我们把精力集中在架构判断、异常处理和系统设计这些真正需要人类直觉的地方。技术会变,CF的防护会升级,GPT的能力也会迭代。但这种“人机协作拆解复杂问题”的方法论,比任何具体的绕过技巧都更有长期价值。参考资料Cloudflare Bot Management官方文档。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 528

Java神奇工具——Lombok[最全]

最近刚接触,结果官网访问速度很慢,网上博客又没有介绍全,打算自己做个详细的,以防后面复习使用。 目录   Lombok 如何用Lombok——两种方法 有哪些注解可以使用呢[1.16.18版本一共18个注解,有一个注解不推荐使用] @AllArgsConstructor / @NoArgsConstructor / @RequiredArgsConstructor @Builde...

IPOmonkey的博客 6432

orin+96712接GMSL2相机调试经验

orin gmsl camera调试

乐于分享 4450

Lombok:Java开发者的代码简化神器【后端 17】

Lombok是一个Java库,它通过注解在编译时期自动生成模板方法、构造函数、getter/setter等,从而减少冗余的代码,让开发者能够专注于业务逻辑的实现。Lombok的核心理念是“通过简单的注解,让代码更加简洁易懂”。由于Lombok生成的代码是在编译时插入的,IDE在编写代码时可能无法识别这些方法,导致IDE报错或提示方法未定义。安装Lombok插件后,IDE将能够识别这些由Lombok注解生成的代码,从而避免此类问题。

delepaste的博客 1391

Claude Code(7):从零创建你的第一个 Skill

在前面的文章,我们介绍了 Skills 的基本概念,这篇我们深入实战,从零开始创建你的第一个 Skill,并逐步解锁所有配置项,让 Claude Code 真正熟悉你的测试规范和习惯。

blues_C的博客 639

D457深度相机调试记录(max96712+max9295A)

使用max96712解串器解4路D457相机。采集深度相机Depth和RGB流。

navy2015_163的博客 1251

Java22已发布,支持SpringBoot3.3.0正式版

Java22已发布,支持SpringBoot3.3.0正式版

yuanjinshenglife的专栏 2978

嵌入式PCB电源完整性分析:PDN建模与电流密度优化

电源完整性(PI)是高速数字与混合信号系统稳定运行的基础,其核心在于保障芯片供电网络(PDN)在动态负载下的电压稳定与热安全。PDN分析本质上是通过量化电流密度与电压降两个关键物理量,揭示PCB走线、过孔及平面的载流瓶颈与压降路径。电流密度超标将引发局部温升与可靠性风险,而电压降则直接侵蚀器件供电裕量,导致复位、采样失真等典型故障。借助Altium Designer等工具开展工程级PDN建模,需严格依据电源预算表定义源/负载,并精准配置铜厚、过孔参数及IPC-2152限值,从而实现从原理图到制造工艺的闭环验

weixin_28949937的博客 206

JDK版本引发的lombok问题

这种问题的原因是因为JDK版本太高,一般在JDK9之后,lombok就会有些版本上的问题,有时候开发环境在使用JDK8开发的时候,部署到其他环境下,这个问题就会出现。解决办法就是升级或者降级项目中lombok引用的版本。

mannery19140的博客 1409

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

springboot集成swagger2,lombok

本demo工程可到我的github下载:https://github.com/Feiyu123/swaggerDemo 一.了解swagger2和lombok (1)Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终...

HaleyLiu123的博客 1185

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Springboot工具篇04:log4j2集成,配合lombok更好用

对于一个系统来说,日志是很重要的部分,日志可以帮助我们快速查找系统相关异常,可以帮助开发人员调试程序,可以监控系统程序运行情况,日志分为不同的级别(我比较常用的就是debug,info,error,其余的不多赘述,感兴趣的可以上网查一下找各种日志级别)。虽然日志对于我们很重要,但作为开发人员来说还是不想花费太多的代码在日志上面。话不多说,下面我们来看看怎样在springboot项目中...

zhzhxian的博客 5364

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

springboot2.7不需要单独引入lombok

从Spring Boot 2.7开始,Lombok不再需要单独引入。Lombok是一个Java库,它通过注解来简化Java代码的编写,例如自动生成getter和setter方法、构造函数等。在Spring Boot 2.7中,Lombok已经成为Spring Boot的一部分,因此不需要再单独引入Lombok库

Harry的博客 1265

JAVA中使用Log4j2日志和Lombok引入日志的方法

一、简述   我们项目中既要使用lombok,又要使用log4j2时,使用日志将会更简单。 二、解决   1、引入依赖 <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>lo...

a616735104的博客 1984

日志简化,不用个类引入lombok + Log4j2

pom配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> <dependency> <groupId>org.pro

love4amanda的博客 664

日志收集笔记(架构设计、Log4j2项目初始化、Lombok)

ELK 技术栈架构设计图:从左往右看,BeatsFilebeatKafkaLogstashKibanaLog4j2Log4j2app.logerror.log。

KeePCoding 1147

2022.2.3版本idea如何安装Lombok

新版本idea无法使用lombok

不想做一只咸鱼的博客 1684

2 Lombok

Lombok是一个实用的java工具,使用它可以消除java代码的臃肿,Lombok提供一系列的注解,使用这些注解可以不用定义getter/setter、equals、构造方法等,它会在编译时在字节码文件自动生成这些通用的方法,简化开发人员的工作。 下面介绍一下常用的几个注解: @Setter 注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成set...

人生智慧的博客 321

项目中Swagger2、lombok(小辣椒)、以及短信API的调用 简单介绍

一、使用Swagger2实时生成接口文档(分布式系统使用) Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。 1.使用swagger生成实...

sout 1136

log4j2+slf4j+lombok整合

log4j2+slf4j+lombok整合

m0_57099067的博客 1016
上一篇: 2.5 MyBatis中集合的相关操作
下一篇: 2.6 MyBatis中的复杂SQL
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值