java Lombok之@Accessors用法及说明

Java Lombok之@Accessors用法及说明

概述

Lombok是Java对象的库,通过注解的形式简化了对象的创建及Getter和Setter方法的定义等繁琐操作。其中,@Accessors注解是Lombok中提供的方便生成链式方法的注解。

@Accessors注解的使用

@Accessors注解有下列常用属性:

  1. fluent:若为true,则生成的setter方法返回该对象,否则无返回值;
  2. chain:若为true,则生成的setter方法返回该对象;
  3. prefix:给生成的方法加上前缀;
  4. readOnly:是否给成员变量设置为final;
  5. lazy : 若为true,则会生成双重检查锁的单例模式代码。

示例1

@Data
@Accessors(chain = true)
public class Person {
    private String name;
    private int age;
    private String gender;
}

public class TestPerson {

    @Test
    public void testSetValues() {
        Person person = new Person();
        person.setName("Tom").setAge(20).setGender("male");
        System.out.println(person);
    }
}

在这段代码中,我们定义了一个Person类,使用@Data注解,同时为该Person类使用了@Accessors(chain = true)注解,这表示开启链式编码模式。在TestPerson中我们使用该Person类,并调用set方法为其成员变量赋值并打印输出。

示例2

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString(exclude = "password")
@Accessors(chain = true, prefix = "u")
public class User {
    private String name;
    private String password;
    private int age;
    private String email;
}

public class TestUser {

    @Test
    public void testSetValues() {
        User user = new User().setUName("test").setUPassword("123456").setUAge(18).setUEmail("test@test.com");
        System.out.println(user);
    }
}

在这段代码中,我们定义了一个User类,使用@Getter、@Setter、@NoArgsConstructor、@AllArgsConstructor、@ToString(exclude = "password")注解,同时为该User类使用了@Accessors(chain = true, prefix = "u")注解,这表示开启链式编码模式并且生成的方法加上u前缀。在TestUser中我们使用该User类,并调用set方法为其成员变量赋值并打印输出。

总结

@Accessors注解可以方便的生成符合编码规范的链式调用方法,从而简化对象创建及对对象成员变量的操作,提高了代码的可读性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java Lombok之@Accessors用法及说明 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • linux上传并配置jdk和tomcat的教程详解

    下面是 “linux上传并配置jdk和tomcat的教程详解”的完整攻略: 需要的工具和资源 JDK和Tomcat的安装包 一台Linux服务器和SSH工具(例如PuTTY) 一个用户账户,拥有sudo权限 上传JDK和Tomcat安装包 将JDK和Tomcat的安装包上传到Linux服务器上,可以使用scp命令,如下所示: scp /path/to/jdk…

    Java 2023年5月19日
    00
  • Go iota 常量基本语法介绍

    Go iota 常量基本语法介绍 Go中的常量是不可变的量,它们被赋值后不能再次更改。常量的值可以在编译时确定,并且它们具有比变量更严格的类型检查。 在Go语言中,有一个特殊的常量生成器叫做iota,可以用来创建一组枚举类型的常量。iota常量生成器初始化为0,并且每次使用后自动加1,一般在常量组中使用。 接下来我们将详细介绍Go iota常量的基本语法。 …

    Java 2023年5月26日
    00
  • java8日期工具类封装的实战记录

    Java8日期工具类封装的实战记录 介绍 Java8中提供的日期时间API可以更方便地处理时间日期相关的操作,提高开发效率,提高代码可读性。但是,在实际项目中,我们需要将这些API封装成工具类,方便在整个项目中使用。本文将介绍如何封装Java8日期时间API,以及如何在项目中应用。 封装Java8日期工具类 创建工具类 创建一个名为DateUtil的工具类,…

    Java 2023年5月20日
    00
  • springboot 在linux后台运行的方法

    在Linux服务器上运行Spring Boot应用程序是一种常见的部署方式。以下是详细讲解Spring Boot在Linux后台运行的方法的完整攻略: 打包应用程序 在部署Spring Boot应用程序之前,我们需要将应用程序打包成可执行的JAR文件。我们可以使用Maven或Gradle来完成此操作。以下是使用Maven打包应用程序的示例: mvn clea…

    Java 2023年5月15日
    00
  • 实现Windows环境下Flink消费Kafka热词统计示例过程

    下面是“实现Windows环境下Flink消费Kafka热词统计示例过程”的完整攻略。 1. 准备工作 在开始操作之前,需要先准备好以下软件和环境: Java JDK Apache Kafka Apache Flink 2. 安装Java JDK Java JDK是运行Flink和Kafka的必要组件。你需要下载Java JDK并按照提示安装。安装完成之后,…

    Java 2023年5月20日
    00
  • SpringMVC中controller接收json数据的方法

    下面我将详细讲解”SpringMVC中controller接收json数据的方法”的攻略。 一、引入Jackson库 在项目的pom.xml文件中增加Jackson依赖: <!–Jackson依赖–> <dependency> <groupId>com.fasterxml.jackson.core</groupI…

    Java 2023年5月26日
    00
  • Java实战之简单的文件管理器

    Java实战之简单的文件管理器 概述 本篇攻略将介绍如何使用Java编写一个简单的文件管理器,主要实现以下功能: 显示指定目录下的文件和子目录 创建新目录 创建新文件 复制文件 移动文件 删除文件 开始 1. 建立项目 使用Eclipse或者IntelliJ IDEA等开发工具,建立一个新的Java项目。 2. 创建主类 创建一个名为FileManager的…

    Java 2023年5月20日
    00
  • 利用JWT如何实现对API的授权访问详解

    JWT是一种用于认证和授权的开放标准,常用于Web应用程序和API的身份验证和授权。使用JWT进行API的授权访问可以帮助我们更加安全和可控地管理API资源。 以下是使用JWT实现对API的授权访问的详细攻略: 步骤一:生成JWT Token 在每次请求API的时候,需要使用服务器端生成的JWT Token来进行身份认证和授权。通常可以使用jsonwebto…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部