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

Lombok(简化Java当中的开发)

Lombok概述

image-20220119180538724

以前的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString/构造方法;打印日志;I/O流的关闭操作等等,这些代码既没有技术含量,又影响着代码的美观,Lombok应运而生。

LomBok可以通过注解,帮助开发人员消除JAVA中尤其是POJO类中的冗长代码。

  • 使用LomBok之前

    image-20220117180727223

  • 使用LomBok之后

    image-20220117180756057

实时学习反馈

1. LomBok通过__,帮助开发人员消除冗长代码

A 注解

B 配置文件

C 配置类

D 默认配置

答案

1=>A

Lombok插件安装

image-20220119180706855

如果IDEA版本在2020.3以上,不需要安装Lombok插件。如果IDEA版本在2020.3以下,需要安装Lombok插件,安装方法如下:

  1. 点击Flie->Setting->Plugins

  2. 搜索Lombok,安装

    image-20220117181311926

Lombok依赖

  • 普通maven项目Lombok依赖为:

    <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</version><scope>provided</scope>
    </dependency>
    

Lombok注解_@Setter、@Getter

image-20220119180904751

作用:为类中的属性提供setter/getter方法

位置:类上方或属性上方,在属性上方则为属性生成setter/getter方法,在类上方表示给该类下的所有属性生成setter/getter方法

属性:设置setter和getter访问权限

//给类下的所有属性添加Setter/Getter
@Setter
@Getter
public class User {//给id属性添加Setter@Setterprivate Integer id;//给username的setter方法设置私有权限@Setter(AccessLevel.PRIVATE)private String username;//取消password的Getter方法@Getter(AccessLevel.NONE)private String password;private static int age;private final String address = null;
}

注:

  • static修饰的变量不生成getter和setter方法
  • final修饰的变量只生成getter方法

在IDEA中,按住Alt+7可以查看Lombok生成的代码

实时学习反馈

1. 在LomBok中,可以为类中的属性提供setter方法

@Getter

@ToString

@Setter

@EqualsAndHashCode

2. 在LomBok中,@Getter可以写在

A 类上方

B 属性上方

http://www.xdnf.cn/news/19329.html

相关文章:

  • 下载 | Win11 23H2正式版最新原版ISO系统映像 (22631.5840、多合一版本)-修复系统问题
  • 基于STM32单片机的OneNet物联网云平台农业土壤湿度控制系统
  • 编程与数学 03-004 数据库系统概论 09_物理结构设计
  • 栈溢出问题
  • 498. 对角线遍历
  • 银河麒麟系统无法打开360浏览器的解决办法以及安装initramfs-tools报错解决方案
  • 10.2 工程学中的矩阵
  • AutoDriveRelated-WA
  • Qt中的锁(1)
  • 【lua】table基础操作
  • String str = new String(“abc“)
  • C语言---零碎语法知识补充(队列、函数指针、左移右移、任务标识符)
  • 第十六章 ESP32S3 WATCH_DOG 实验
  • C++优先级队列priority_queue的模拟实现
  • 论文介绍:《Small Language Models are the Future of Agentic AI》
  • Python(五)Python_C API详细
  • Linux三剑客grep-sed-awk
  • 为什么vue3会移除过滤器filter
  • 北斗导航 | RAIM算法改进方案及性能对比分析报告
  • 深度学习:洞察发展趋势,展望未来蓝图
  • 计算机网络面试集合
  • 【AI工具】在 VSCode中安装使用Excalidraw
  • Java全栈开发面试实战:从基础到微服务的深度解析
  • 小迪安全v2023学习笔记(七十四讲)—— 验证机制篇验证码绕过思路SRC挖掘演示
  • Coze源码分析-API授权-获取令牌列表-前端源码
  • LeetCode刷题记录----51.N皇后(Hard)
  • OpenCV安装及其开发环境配置(Windows系统Visual Studio 2022)
  • ros1ros2区别和相同之处
  • 软考 系统架构设计师系列知识点之杂项集萃(136)
  • 【LeetCode - 每日1题】有效的数独