Lombok中@Accessors注解的使用及说明

 更新时间:2025年10月15日 10:03:38   作者:慷  慨  
Lombok是一个Java库,旨在通过注解减少代码量,提高效率,@Accessors注解是其中一种工具,用于简化Java类的访问器方法,这个注解允许配置访问器的生成方式,包括是否使用fluent风格、是否忽略字段前缀以及是否支持链式调用,从而使代码更简洁、易读

Lombok是一款优秀的Java库,旨在通过注解方式减少代码量,提高开发效率。其中,@Accessors注解是Lombok提供的一个强大工具,能够进一步简化Java类中的访问器方法,使代码更加简洁易读。

1. 什么是@Accessors注解?

在介绍@Accessors注解之前,我们先来了解一下访问器方法。在Java中,通常我们会为类的成员变量定义一对getter和setter方法,以便对这些变量进行读写操作。然而,这样的方法会导致代码冗长,而且降低了代码的可读性。

@Accessors注解的出现就是为了解决这个问题。通过使用@Accessors注解,我们可以轻松地配置生成的访问器方法,使其更符合我们的编码风格。

2. 基本用法

@Accessors注解的基本用法非常简单。我们只需要在类上使用该注解,并通过其中的fluent属性来配置生成的访问器方法。

2.1 fluent 属性

不写默认为false,当该值为 true 时,对应字段的 getter 方法前面就没有 get,setter 方法就不会有 set

@Data
@Accessors(fluent = true)
public class Person {
    private String firstName;
    private String lastName;

    public static void main(String[] args) {
        Person person = new Person();
        person.firstName("John").lastName("Doe");
        System.out.println("Full Name: " + person.firstName());
    }
}

2.2  prefix属性

该属性是一个字符串数组,默认值为空,该数组有值的时候,表示忽略字段对应的前缀,生成对应的getter和setter方法

@Data
@Accessors(prefix = {"xx","yy"})
public class Person {
    private String xxFirstName;
    private String yyLastName;

    public static void main(String[] args) {
        Person person = new Person();
        person.setFirstName("John");
        System.out.println("Full Name: " + person.getFirstName());
    }
}

2.3  chain属性

通过chain属性,我们可以控制是否生成返回当前对象的访问器方法,以支持链式调用。

@Data
@Accessors(chain = true)
public class Person {
    private String firstName;
    private String lastName;

    public static void main(String[] args) {
        Person person = new Person().setFirstName("John").setLastName("Doe");
        System.out.println("Full Name: " + person.getFirstName());
    }
}

3. 总结

了解了Lombok中的@Accessors注解,了解了它如何简化Java类中访问器方法的生成。

通过合理的配置,我们能够使代码更加简洁、可读,并通过链式调用提高代码的可维护性。

@Accessors注解是Lombok中一个强大而灵活的工具。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决idea默认带的equals和hashcode引起的bug

    解决idea默认带的equals和hashcode引起的bug

    这篇文章主要介绍了解决idea默认带的equals和hashcode引起的bug,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • SpringBoot整合flyway实现步骤解析

    SpringBoot整合flyway实现步骤解析

    这篇文章主要介绍了SpringBoot整合flyway实现步骤解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 基于SpringBoot实现网络限速功能

    基于SpringBoot实现网络限速功能

    为了实现网络限速,业内有很多行之有效的策略,每种都有其独特的优势和适用场景,接下来我就给大家介绍 4 种常见的限速策略,大家可以根据需要自行选择
    2026-04-04
  • java实现人民币大小写转换方法分享

    java实现人民币大小写转换方法分享

    本文介绍java人民币数字大小写转换方法,代码中有注释,大家直接看代码吧
    2014-01-01
  • Spring Boot中的过滤器拦截器监听器使用技巧汇总

    Spring Boot中的过滤器拦截器监听器使用技巧汇总

    本文将介绍在Spring Boot应用程序中使用过滤器、拦截器和监听器的使用技巧,我们将讨论它们之间的区别,以及何时使用它们,我们还将提供代码示例,以帮助您在自己的应用程序中使用它们
    2023-12-12
  • Springboot Mybatis使用pageHelper如何实现分页查询

    Springboot Mybatis使用pageHelper如何实现分页查询

    这篇文章主要介绍了Springboot Mybatis使用pageHelper如何实现分页查询问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 详解java代码中init method和destroy method的三种使用方式

    详解java代码中init method和destroy method的三种使用方式

    这篇文章主要介绍了详解java代码中init method和destroy method的三种使用方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 通过Java读取xml文件内容过程解析

    通过Java读取xml文件内容过程解析

    这篇文章主要介绍了通过Java读取xml文件内容过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Java实现导出ZIP压缩包的方法

    Java实现导出ZIP压缩包的方法

    这篇文章主要介绍了Java实现导出ZIP压缩包的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • 深入了解SpringBoot中的统一返回和统一异常处理

    深入了解SpringBoot中的统一返回和统一异常处理

    这篇文章主要为大家详细介绍了SpringBoot项目中常用的统一返回结果和统一异常处理,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2024-01-01

最新评论