Java 效率编码 必备插件 Lombok 让代码更优雅

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 该内容是一个关于Lombok插件的教程摘要:介绍了Lombok用于减少Java开发中的模板代码,提升效率;讲解了如何在IntelliJ IDEA中安装Lombok插件,以及在pom.xml中添加依赖;并提到了@Data注解能自动生成getter/setter、equals、hashCode和toString方法,@Slf4j注解自动处理日志,@Builder用于构建对象,以及@AllArgsConstructor和@NoArgsConstructor注解生成构造函数。还鼓励探索更多Lombok的注解用法。

本节大纲

   使用lombok插件的好处

   如何安装lombok插件

   使用lombok提高开发效率

二、使用lombok插件的好处

我们在java开发过程中,经常会有一些常规性的,重复性的工作。比如:

   根据成员变量生成get和set方法

   根据成员变量生成类的构造函数

   重写toString()和hashCode方法

   引入日志框架logFactory,用来打印日志

以上都是一些重复动作,模板代码。每次都手动生成既浪费时间,又增加了大量的冗余代码。我们可以使用lombok插件来解决这个问题。使我们的编码效率得到大幅度的提高!

三、如何安装lombok插件

笔者以InelliJ IDEA为例,安装lombok插件。打开 IDEA 的 File->Settings 面板,并选择 Plugins 选项,然后点击 “Browse repositories”。在搜索框输入”lombok”,结果中找到lombok点击install,然后重启 IDEA。

我们还要在pom.xml里面加上如下依赖,插件生效。

<code class="language-plaintext hljs"><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency></code>

   在Spring Boot项目里面不需要加入版本号,spring Boot父项目会代为管理。如果是其他项目,请自行添加版本号!  

四、 使用lombok注解简化开发

4.1 Data注解

在java类上使用@Data注解,将为我们在编译期自动生成

   成员变量的get和set方法

   equals方法

   canEqual方法

   hashCode方法

   toString方法

上图左侧是使用lombok注解Data,右侧是java字节码class文件反编译结果

4.2 Slf4j注解

将在编译期自动帮我们引入Logger日志常量,我们在代码中就直接使用log.info或log.debug打印日志即可。下图中红色代码就用Slf4j注解代替就可以了。

4.3 Builder注解

在Java类上使用Builder注解之后,我们可以使用如下代码为对象属性赋值

<code class="language-plaintext hljs">LombokPOJO lombokPOJO = LombokPOJO.builder().name("kobe").age(39).build();</code>

4.4 AllArgsConstructor注解

AllArgsConstructor注解将为我们在编译期自动生成:全参构造函数。

有全参构造函数注解,自然就有无参构造函数注解:NoArgsConstructor注解。

lombok有非常多的好用的注解,这里给大家集中介绍几个经常会用到的。更多的用法参考github(插件安装图中,有github连接,上图中黄色区


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3天前
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
15 4
|
3天前
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
15 2
|
7天前
|
安全 Java API
Java 17新特性让你的代码起飞!
【10月更文挑战第4天】自Java 8发布以来,Java语言经历了多次重大更新,每一次都引入了令人兴奋的新特性,极大地提升了开发效率和代码质量。本文将带你从Java 8一路走到Java 17,探索那些能让你的代码起飞的关键特性。
31 1
|
6天前
|
Java 程序员 API
Java中的Lambda表达式:简化代码的秘密武器
【10月更文挑战第11天】 在Java编程中,Lambda表达式是一种简洁而强大的工具,它允许我们将函数作为参数传递给其他方法。本文将介绍Lambda表达式的基本概念、使用方法以及在实际项目中的应用案例,帮助你更好地理解和利用这一特性来简化代码。
20 8
|
4天前
|
Java 开发者
在Java编程中,正确的命名规范不仅能提升代码的可读性和可维护性,还能有效避免命名冲突。
【10月更文挑战第13天】在Java编程中,正确的命名规范不仅能提升代码的可读性和可维护性,还能有效避免命名冲突。本文将带你深入了解Java命名规则,包括标识符的基本规则、变量和方法的命名方式、常量的命名习惯以及如何避免关键字冲突,通过实例解析,助你写出更规范、优雅的代码。
23 3
|
4天前
|
Java 程序员
在Java编程中,关键字不仅是简单的词汇,更是赋予代码强大功能的“魔法咒语”。
【10月更文挑战第13天】在Java编程中,关键字不仅是简单的词汇,更是赋予代码强大功能的“魔法咒语”。本文介绍了Java关键字的基本概念及其重要性,并通过定义类和对象、控制流程、访问修饰符等示例,展示了关键字的实际应用。掌握这些关键字,是成为优秀Java程序员的基础。
11 3
|
9天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
【10月更文挑战第8天】本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
21 5
|
7天前
|
Java 编译器 API
从Java 8到Java 17,这些新特性让你的代码起飞!
【10月更文挑战第10天】在软件开发领域,Java作为一种历史悠久且广泛使用的编程语言,不断进化以适应新的需求和挑战。从Java 8到Java 17,每一次版本更新都带来了诸多新特性和改进,极大地提升了开发效率和代码质量。今天,我们就来一起探讨这些新特性,看看它们是如何让我们的代码“起飞”的。
69 0
|
IDE Java API
Lombok:让JAVA代码更优雅
Lombok:让JAVA代码更优雅
105 0
Lombok:让JAVA代码更优雅
|
Java 开发工具 IDE