Lombok应用

导读:本篇文章讲解 Lombok应用,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

Lombok插件能够为实体类自动生getter、setter、tostring方法,可提高开发效率。

  1. 下载
    older versions
  2. 安装

    运行lombok.jar
    java -jar .\lombok.jar
    Lombok应用

     命令执行完成后会弹出如下对话框,对话框中会把所有的eclipse路径都查询出来,如果没有找到,也可以通过 Specify location 按钮指定位置。
    Lombok应用

     点击 Install/Update 进行安装
    Lombok应用

    在pop.xml中添加依赖

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

    lombok使用(@Slf4j注解需要额外添加slf4j-api依赖)

  3. 应用

    @Data:自动生成所有属性的get/set方法,equals方法,hashCode方法,toString方法,如果相应的方法名已经存在则滤过该方法
    属性名    描述
    staticConstructor    静态构造方法名,无参构造函数变为私有,只能通过该静态方法创建对象

    @AllArgsConstructor:自动用所有的字段生成构造函数,final的字段是作为生成构造函数入参
    属性名    描述
    staticName    静态构造方法名,有参构造函数变为私有,只能通过该静态方法创建对象
    access    设置生成的构造函数的访问级别,默认public

    @Getter:作用在类上,则为所有字段生成get方法;作用在字段上则为该字段生成get方法。
    属性名    描述
    value    设置生成方法的访问级别,默认public
    access    设置生成的构造函数的访问级别,默认public
    lazy    是否懒加载,如果为true则要求字段必须是final的,会在调用get方法时才会设置该值,且该值的获取是线程安全的

    @Setter:作用在类上,则为所有字段生成set方法;作用在字段上则为该字段生成set方法。
    属性名    描述
    value    设置生成方法的访问级别,默认public

    @ToString注解:作用在类上自动生成toString方法,默认只打印非静态字段,默认会使用字段get方法
    属性名    描述
    includeFieldNames    是否包含字段名称,默认true
    of    打印那些字段,不能和@ToString.Include和@ToString.Exclude注解一起使用
    callSuper    是否调用父类的toString方法,默认false
    doNotUseGetters    是否不使用字段的get方法
    onlyExplicitlyIncluded    仅打印ToString.include注解标注的字段

    @ToString.Include:和@ToString注解配合使用,用于自定义打印内容,可以用在方法(方法的返回值将被打印)和字段上
    属性名    描述
    randk    排序值,优先打印值大的
    name    可以自定义被打印字段或方法的名称

    @ToString.Exclude:和@ToString注解配合使用,用在字段上,排除不需要打印的字段

    @EqualsAndHashCode:用在类上,生成equals和hashCode方法,默认会使用字段get方法

    属性名    描述
    exclude    排除哪些字段
    of    包含哪些字段
    callSuper    是否要调用父类的实现
    doNotUseGetters    是否不使用字段的get方法
    onlyExplicitlyIncluded    仅打印ToString.include注解标注的字段
    @EqualsAndHashCode.Include:和@ToString注解配合使用,用于自定义内容,可以用在方法(方法的返回值将被打印)和字段上

    @EqualsAndHashCode.Exclude:和@EqualsAndHashCode注解配合使用,用在字段上,排除不需要打印的字段

    @NonNull:用于字段,参数,变量等,在设置null值时,抛出空指针异常

    @NoArgsConstructor:生成无参构造函数

    属性名    描述
    staticName    静态构造方法名,无参构造函数变为私有,只能通过该静态方法创建对象
    access    设置生成的构造函数的访问级别,默认public
    force    为所有final字段赋初值,0,null,false
    @RequiredArgsConstructor:生成包含final和@NonNull注解的成员变量的构造器;
    属性名    描述
    staticName    静态构造方法名,无参构造函数变为私有,只能通过该静态方法创建对象
    access    设置生成的构造函数的访问级别,默认public

    @Builder:使用建造者模式,会创建一个LombokBeanBuilder静态内部类,会为LombokBean 添加 public static LombokBeanBuilder builder() 方法。
    属性名    描述
    builderMethodName    为类添加的返回建造者类的方法名,默认builder()
    buildMethodName    建造者类创建目标对象的方法名,默认build()
    builderClassName    建造者类的类名
    toBuilder    为类创建如下方法 LombokBeanBuilder toBuilder(),会使用当前对象的属性值,作为builder的初值,相当于克隆目标对象
    access    设置builder类的访问级别,默认public
    @SneakyThrows:可以自动处理编译时异常,避免写try catch

    @Cleanup:可以自动关闭资源,比如inputSteam

    @Slf4j:会创建private static final Logger log;并赋初值,其他的日志也有相应的注解如@Log4j

    @Singular:和@Builder注解配合使用,只能用在集合字段或参数上,在builder类中创建为集合创建add方法

    @Value:构建一个不可变对象,字段是final的

    @With:用在字段和类型上,会为字段生成如下方法,相当于克隆对象的的同时设置指定属性值

    参考文献:lombok 详细使用说明_WZTTMoon的博客-CSDN博客_lombok说明

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/71221.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!