• IDEA中Lombok插件的安装与使用


    在日常开发过程中,通常都会定义大量的JavaBean,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashcode、toString方法,当要对某个属性进行改变时,比如命名、类型等,都需要重新去生成上面提到的这些方法。我们可以使用lombok插件帮助我们解决以上问题,只需要加上相应的注解就可以实现对应的功能。

    Lombok简介

    Lombok 是一个 java 库,不需要编写 getter 或 equals 等方法,只需要使用一个注释,类就有一个功能齐全的构建器。通过简单的注解形式来帮助我们简化日常的Java代码开发,使用对应的注解,可以在编译源码的时候生成对应的方法。

    官方地址:https://projectlombok.org/

    github地址:https://github.com/rzwitserloot/lombok

    Lombok安装使用

    • 安装

    IDEA中添加Lombok插件, File -> Setting -> Plugins 搜索Lombok Plugin, 点击install,安装完成后重启IDEA。

    image-20220322101611431

    如果在marketpalce中搜索不到lombok时,也可以先下载lombok插件,下载地址Github

    image-20220322104434404

    官网

    image-20220322104423721

    选择合适的安装包版本下载到本地,然后通过idea(或其他开发ide)安装本地插件包方式,安装之后重启即可,如下图所示

    image-20220322104014630

    • 使用

    在Maven项目的pom.xml中添加配置:

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

    image-20220322101923513

    以下介绍一些常用的注解使用,更完整的注解使用见https://projectlombok.org/features/all

    @Getter / @Setter

    可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。并可以指定Getter/Setter方法的访问级别。
     

    image-20220322104926639

    @EqualsAndHashCode

    默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。
     

    @ToString

    生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。
     

    @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

    无参构造器、部分参数构造器、全参构造器,如果需要重载多个构造器则需要自己定义声明。
     

    image-20220322105009489

    @Data

    @ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@RequiredArgsConstructor的组合
     

    image-20220322104811370

    @Slf4j

    日志注解,等效于private static final Logger logger = org.slf4j.LoggerFactory.getLogger(xxx.class);

    image-20220322104720261

    平时开发使用以上注解就差不多了,可以帮助我们省去很多重复的操作,提升工作效率。

  • 相关阅读:
    虚拟目录
    【C/C++学习】之十四、RTTI
    【C/C++学习】之十五、内存管理
    【C/C++学习】之十六、关于空指针NULL、野指针、通用指针
    统计在线人数
    [置顶] 分步实现具有分页功能的自定义DataList控件【附源代码】
    进制转换
    栈和队列2 数据结构和算法24
    二进制跟十六进制
    进制转换
  • 原文地址:https://www.cnblogs.com/kingsonfu/p/16038470.html
Copyright © 2020-2023  润新知