广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java中Lombok常用注解分享
  • 391
分享到

Java中Lombok常用注解分享

Java Lombok常用注解Java Lombok注解Java Lombok 2023-05-17 08:05:39 391人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录Our-task介绍安装Lombok加入Maven依赖idea中安装Lombok插件注解介绍@Getter和@Setter@ToString@EqualsAndHashCode@

以前的Java项目中充斥了太多不友好的代码:POJO的Getter/Setter/toString等等,这些代码由于没有什么技术含量,影响了代码的美观等缺点,让Lombok应运而生。

Our-task介绍

本篇博客是我的GitHub上项目our-task:一个完整的清单管理系统的配套教程文档,大家感兴趣的话,可以去看看

安装Lombok

加入Maven依赖

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

IDEA中安装Lombok插件

依次点击:FIle-Settings-Plugins,从插件栏中搜索Lombok进行安装,安装之后勾选Lombok启动即可。

注解介绍

@Getter和@Setter

放在类上,为该类的所有属性自动生成Getter和Setter方法

import lombok.Getter;
import lombok.Setter;


@Getter
@Setter
public class Student {
    int id;
    String name;
    int age;
}

@ToString

自动重写toString方法,和我们平时使用IDEA编辑器自动生成的一样


@ToString
public class Student {
    int id;
    String name;
    int age;
}

@EqualsAndHashCode

自动生成equal(Object other)和hashCode()方法,如果某些变量不想要加入该注解,可以使用exclude进行排除

import lombok.EqualsAndHashCode;

@EqualsAndHashCode
public class Student {
    int id;
    String name;
    int age;
}
import lombok.EqualsAndHashCode;

//把name属性排除在外
@EqualsAndHashCode(exclude = "name")
public class Student {
    int id;
    String name;
    int age;
}

问:为什么把生成equal(Object other)和hashCode()方法弄成一个注解,而不是分开使用?

答:在Java中有规定:当两个对象相等时,它们的hashcode是一定相等的。但是,当两个对象的hashcode相同,对象不一定相等。这样做是为了防止违反Java规定的情况发生。

@NoArgsConstructor

生成一个不包含任何参数的无参构造器

import lombok.NoArgsConstructor;

@NoArgsConstructor
public class Student {
    int id;
    String name;
    int age;
}

@AllArgsConstructor

生成一个包含所有参数的构造器

import lombok.AllArgsConstructor;

@AllArgsConstructor
public class Student {
    int id;
    String name;
    int age;
}

@RequiredArgsConstructor

为“特定参数”生成构造器,这里的“特定参数”,特指那些加上final修饰词的属性

import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public class Student {
    int id;
    final String name;
    int age;

    public static void main(String[] args) {
        Student student = new Student("33");
    }
}

这里我们只为name加上final修饰,可以发现,我们只生成了一个包含name属性的构造器。另外,如果所有的属性都没有final修饰的话,使用@RequiredArgsConstructor会生成一个无参的构造器。

@Data

这是一个组合注解,加了这个注解,相当于加入了@Getter、@Setter、@ToString、@EqualsAndHashCode和@RequiredArgsConstructor这五个注解。

@Value

这也是一个组合注解,但是会把所有的变量都设置为final的,其他的就和@Data一样了。等同于加入了@Getter、@ToString、@EqualsAndHashCode和@RequiredArgsConstructor这四个注解(由于所有属性是final的,所以没有@setter注解了)。

@Builder

流式的set值写法,不过毕竟是给属性赋值,基本的setter还是需要有的,一般来说,@Builder会和@Data一起使用。

import lombok.Builder;
import lombok.Data;

@Builder
@Data
public class Student {
    int id;
    String name;
    int age;

    public static void main(String[] args) {
    Student student =                           Student.builder().id(1).name("water").age(18).build();
    }
}

@Slf4j

自动生成该类的log静态常量,就可以直接打印日志了,不用去new一个log的静态常量了。

@Slf4j
public class Student {
    int id;
    String name;
    int age;

    public static void main(String[] args) {
        log.info("hello world");
    }
}

以上就是Java中Lombok常用注解分享的详细内容,更多关于Java Lombok常用注解的资料请关注编程网其它相关文章!

--结束END--

本文标题: Java中Lombok常用注解分享

本文链接: https://www.lsjlt.com/news/210815.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中Lombok常用注解分享
    目录Our-task介绍安装Lombok加入Maven依赖IDEA中安装Lombok插件注解介绍@Getter和@Setter@ToString@EqualsAndHashCode@...
    99+
    2023-05-17
    Java Lombok常用注解 Java Lombok注解 Java Lombok
  • java中Lombok的注解怎么用
    这篇文章主要讲解了“java中Lombok的注解怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java中Lombok的注解怎么用”吧!注解举例@ToString:实现toString(...
    99+
    2023-06-30
  • java中有哪些Lombok注解
    本篇文章为大家展示了java中有哪些Lombok注解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种基于Java的实现...
    99+
    2023-06-14
  • Java库lombok及注解如何使用
    本篇内容介绍了“Java库lombok及注解如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Lombok是什么Lombok是一个旨在减...
    99+
    2023-07-02
  • APT 注解处理器实现 Lombok 常用注解功能详解
    目录1 背景2 生成字节码原理2.1 APT(Annotation Processing Tool )注解处理器2.2 AbstractProcessor 注解处理器的使用...
    99+
    2022-11-13
  • Lombok中的@Builder注解怎么用
    这篇文章主要介绍Lombok中的@Builder注解怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Lombok中的@Builder注解的使用作用@Builder注解的作用主要是用来生成对象,并且可以为对象链式赋...
    99+
    2023-06-25
  • Lombok中@EqualsAndHashCode注解如何使用
    这篇文章主要介绍“Lombok中@EqualsAndHashCode注解如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Lombok中@EqualsAndHashCode注解如何使用”文章能帮...
    99+
    2023-07-05
  • Java中Lombok的使用详解
    这篇文章主要介绍“Java中Lombok的使用详解”,在日常操作中,相信很多人在Java中Lombok的使用详解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中Lombok的使用详解”的疑惑有所帮助!...
    99+
    2023-06-16
  • Springboot中使用lombok的@Data注解方式
    目录Springboot 使用lombok的@Data注解idea安装lombok插件创建项目,编写实体类编写测试类测试结果springBoot 注解@Data注入失败一、Files--Seetings--Plugins二、如果重启后仍注入...
    99+
    2014-06-11
    Springboot注解 lombok 注解 @Data注解
  • Lombok中@EqualsAndHashCode注解的使用及说明
    目录@EqualsAndHashCode注解先来看问题1、定义一个基础类Car2、定义一个扩展类BYD继承Car3、分别new两个对象并比较4、查看比较结果解决办法总结@Equals...
    99+
    2023-03-06
    Lombok @EqualsAndHashCode @EqualsAndHashCode注解 @EqualsAndHashCode注解使用
  • Java中Lombok @Value注解导致的variable not been initialized问题
    目录背景 解决背景 想要修改一个POJO类,在其中增加一个字段,但是增加以后就开始报错: 该类已经存在一个构造函数,为了不破坏该类原来的使用方式,于是重新写了一个构造方...
    99+
    2022-11-12
  • 聊聊Lombok中的@Builder注解使用教程
    目录Lombok中的@Builder注解的使用作用引入依赖第二步给实体类加上@Builder注解第三步使用测试使用@Builder注解生成对象实体类加上@Builder注解之后的编译...
    99+
    2022-11-12
  • Lombok中@Builder和@SuperBuilder注解的用法案例
    目录Lombok中@Builder和@SuperBuilder注解的用法@Singular 注解修饰集合@Builder.Default@SuperBuilder@SuperBuil...
    99+
    2023-01-11
    Lombok中@Builder和@SuperBuilder注解 Lombok注解用法
  • spring mvc中注解@ModelAttribute的妙用分享
    前言本文主要给大家介绍了关于spring mvc注解@ModelAttribute妙用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。在Spring mvc中,注解@ModelAttribute是一个非常常用的注...
    99+
    2023-05-31
    springmvc 注解 @modelattribute
  • java中常用注解汇总
    一、java实体类中注解 @Null:被注释的元素必须为null@NotNull:被注释的元素不能为null@AssertTrue:该字段只能为true@AssertFalse:该字段的值只能为false@Min(value):被注释的元素...
    99+
    2023-09-04
    java 开发语言
  • Java注解和异常实例分析
    今天小编给大家分享一下Java注解和异常实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。注解作用注解是JDK1.5版本...
    99+
    2023-07-02
  • 如何解决Java中Lombok @Value注解导致的variable not been initialized问题
    本篇内容介绍了“如何解决Java中Lombok @Value注解导致的variable not been initialized问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情...
    99+
    2023-06-20
  • 分享一些Java的常用工具
    目录1:生成纯数字的随机数2:生成包含字母的随机数(大小写)3:正则表达式验证手机号(2021年期间的手机号)1:生成纯数字的随机数 package com.lucun.stud...
    99+
    2022-11-12
  • java常用注解有哪些
    Java常用注解包括:1. @Override:用于标注方法覆盖父类方法。2. @Deprecated:用于标注不推荐使用的方法或类...
    99+
    2023-05-29
    java常用注解 java
  • 分享Java常用开发编辑器工具
    目录1.editplus1.1官方下载2.解压就可以使用2.1vscode2.2下载2.3解压建立data2.4软件常用配置方式settings.json2.5vscode使用说明及...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作