Lombok在idea中的使用教程

 更新时间:2023年03月22日 09:11:24   作者:熊猫盼盼。  
Lombok是一个可以通过简单的注解形式,来帮助我们简化消除一些必须有但显得很臃肿(如果getter、setter方法)的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法,这篇文章主要介绍了Lombok在idea中的使用,需要的朋友可以参考下

一、什么是lombok

        Lombok是一个可以通过简单的注解形式,来帮助我们简化消除一些必须有但显得很臃肿(如果getter、setter方法)的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法

二、如何使用 

1.导入lombok的maven包

    <dependency>
 
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <version>1.18.20</version>
 
    </dependency>

2.在idea中添加对lombok的支持

idea中File——Settings——Pulgins——上方选择Marketplace搜索Lombok点击Install安装

3.设置lombok在编译阶段生效

 三、lombok中常用的注解

1.@ToString

作用在类上,覆盖默认的的toString()方法。可以通过of属性设置显示什么字段,通过exclude属性排除某些字段

//toString方法显示username、age属性,排除password属性
@ToString(of={"username","age"},exclude={"password"})
public class User{
    private String username;
    private String password;
    private int age;   
}

 2.@EqualsAndHashCode

作用在类上,覆盖默认的equals、hashCode方法

3.@NonNull

作用在成员变量和参数中,标识不能为空,否则抛出空指针异常 

//属性password、参数username不能为空,否则抛出空指针异常
public class User{
    private String username;
@NonNull private String password;
    private int age;  
    public String sleep (@NonNull String username){
        System.out.println(username+"在睡觉")
    }
}

 4.@NoArgsConstructor、@RequiredArgsConstructor、@AllArgsConstructor

@NoArgsConstructor——作用在类上,生成一个无参构造方法

@RequiredArgsConstructor——作用在类上,这个注解可以生成带参或者不带参的构造方法。若带参数,只能是类中所有带有@NonNull注解的和以final修饰的未经初始化的字段

@AllArgsConstructor——作用在类上,生成一个包含变量的构造方法
   如果变量使用了@NotNull会校验是否为空

5.@Date

作用在类上自动生成所有字段的toString、EqualsAndHashCode、Getter方法,为非final字段生成Setter、RequiredArgsConstructor方法  

6. @Builder

作用在类上,为作用的类生成相对略微复杂的构建器API,可以通过下方形式调用代码实例化对象

Student.builder()
               .sno( "001" )
               .sname( "admin" )
               .sage( 18 )
               .sphone( "110" )
               .build();

@Builder内部帮我们做了什么?

创建一个名为ThisClassBuilder的内部静态类,并具有和实体类形同的属性(称为构建器)。在构建器中:对于目标类中的所有的属性和未初始化的final字段,都会在构建器中创建对应属性。在构建器中:创建一个无参的default构造函数。在构建器中:对于实体类中的每个参数,都会对应创建类似于setter的方法,只不过方法名与该参数名相同。 并且返回值是构建器本身(便于链式调用),如上例所示。在构建器中:一个build()方法,调用此方法,就会根据设置的值进行创建实体对象。在构建器中:同时也会生成一个toString()方法。在实体类中:会创建一个builder()方法,它的目的是用来创建构建器。

到此这篇关于Lombok在idea中的使用的文章就介绍到这了,更多相关Lombok在idea使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot actuator 健康检查不通过的解决方案

    SpringBoot actuator 健康检查不通过的解决方案

    这篇文章主要介绍了SpringBoot actuator 健康检查不通过的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • java实现切图并且判断图片是不是纯色/彩色图片

    java实现切图并且判断图片是不是纯色/彩色图片

    本篇文章主要介绍了java实现切图并且判断图片是否是纯色/彩色图片,具有一定的参考价值,有兴趣的可以了解一下
    2017-08-08
  • Java中MapStruct使用方法解析

    Java中MapStruct使用方法解析

    这篇文章主要介绍了Java中MapStruct使用方法解析,接受请求参数都会使用一个vo类,这个vo类里封装了所有需要接受的参数,然后对参数进行业务逻辑处理,处理完后会持久化处理, 使用MapStruct可以快速帮你解决转换工作,需要的朋友可以参考下
    2023-10-10
  • Win10 IDEA远程连接HBase教程

    Win10 IDEA远程连接HBase教程

    在Windows 10上,通过IDEA连接到虚拟机中的Hadoop和HBase需要关闭虚拟机防火墙,并修改相关配置文件中的IP地址,此外,创建Maven项目并添加依赖是必要步骤,最后,通过Java代码和HBase Shell命令进行操作,此过程涉及的技术包括虚拟机配置、防火墙管理、文件编辑和项目管理等
    2024-11-11
  • Netty中最简单的粘包解析方法分享

    Netty中最简单的粘包解析方法分享

    黏包 是指网络上有多条数据发送给服务端, 但是由于某种原因这些数据在被接受的时候进行了重新组合,本文分享了一种最简单的黏包解析方法, 非常适用于初初初级选手
    2023-05-05
  • java 图片与base64相互转化的示例

    java 图片与base64相互转化的示例

    这篇文章主要介绍了java 图片与base64相互转化的示例,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-10-10
  • 基于java web获取网页访问次数代码实例

    基于java web获取网页访问次数代码实例

    这篇文章主要介绍了基于java web获取网页访问次数代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Struts2 OGNL表达式实例详解

    Struts2 OGNL表达式实例详解

    这篇文章主要介绍了Struts2 OGNL表达式实例详解,相关实例代码,需要的朋友可以参考。
    2017-09-09
  • 浅谈JAVA 类加载器

    浅谈JAVA 类加载器

    这篇文章主要介绍了JAVA 类加载器的的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • MyBatis实现自定义MyBatis插件的流程详解

    MyBatis实现自定义MyBatis插件的流程详解

    MyBatis的一个重要的特点就是插件机制,使得MyBatis的具备较强的扩展性,我们可以根据MyBatis的插件机制实现自己的个性化业务需求,本文给大家介绍了MyBatis实现自定义MyBatis插件的流程,需要的朋友可以参考下
    2024-12-12

最新评论