首页 > 其他分享 >@Builder注解

@Builder注解

时间:2024-08-28 11:23:12浏览次数:10  
标签:Builder User 注解 Lombok Data setter

@Builder 注解

是 Lombok 库中的一个非常有用的注解,它主要用于自动为你的类生成构建器(Builder)模式的代码。构建器模式是一种对象创建的软件设计模式,它允许通过链式调用方法来设置对象的属性,最后通过调用一个 build() 方法来创建并返回构建好的对象实例。

使用 @Builder 注解可以极大地简化代码,尤其是当你有一个包含多个属性的类时。你不需要手动编写大量的构造器、setter 方法和构建器类,Lombok 会为你处理这些。

以下是一个使用 @Builder 注解的简单示例:

import lombok.Builder;
import lombok.Data;

@Data // 通常与@Builder一起使用,提供getter和setter
@Builder
public class User {
    private String name;
    private int age;
    private String email;

    // 不需要编写任何构造器、setter或builder方法
    // Lombok将在编译时自动生成它们
}

// 使用
public class Test {
    public static void main(String[] args) {
        User user = User.builder()
                .name("John Doe")
                .age(30)
                .email("[email protected]")
                .build(); // 这里创建并返回了User对象

        System.out.println(user); // Lombok的@Data注解提供了toString方法
    }
}

在这个例子中,@Builder 注解为 User 类生成了一个 UserBuilder 类(尽管你不需要直接引用它),它包含了一系列的 name(), age(), 和 email() 方法,每个方法都返回构建器本身,从而支持链式调用。最后,调用 build() 方法会创建并返回一个配置好的 User 对象实例。

注意,@Data 注解在这里也被使用了,它自动为你的类生成了 getter 和 setter 方法,以及 equals(), hashCode(), 和 toString() 方法。虽然 @Builder 可以独立使用,但通常与 @Data 或其他 Lombok 注解一起使用,以提供更全面的功能。

Lombok 是一个非常流行的 Java 库,它通过注解的方式自动为 Java 类生成样板代码,如 getter/setter、equals/hashCode/toString 方法、构造函数等,从而简化了 Java 类的编写。

标签:Builder,User,注解,Lombok,Data,setter
From: https://blog.csdn.net/TheMilkyWayisbri/article/details/141606409

相关文章

  • TypeScript 中的类型注解:代码的“说明书”
    ......
  • Java元注解介绍
    Java四种元注解相关介绍概述注解从Java1.5引入以来,不断地简化我们编写代码的流程,逐渐的也成为了我们必学的一项技术。我们学习了各种注解,学习了他们的用法,学习了他们的限制,是否想过他们的组成呢,下面我将我对元注解的理解分享给大家。元注解是用来修饰注解的注解,在java.lang.ann......
  • 注解是如何实现的?
    注解是否支持继承不支持继承不能使用关键字extends来继承某个@interface,但注解在编译后,编译器会自动继承java.lang.annotation.Annotation接口.虽然反编译后发现注解继承了Annotation接口,但即使Java的接口可以实现多继承,但定义注解时依然无法使用extends关键字继承@interface。......
  • 注解的优点?元注解?
    介绍注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。主要作用如下:编写文档——通过注解中标识的元数据可以生成doc文档,这是最常见的,也是java最早提供的注解。常用的有@param@return等代码分析——通过......
  • Builder 模式在 Go 语言中的应用
    Builder模式在Go语言中的应用江湖十年 Go编程世界  2024年08月27日07:21 浙江Builder模式是一种创建型模式,即用来创建对象。Builder模式,中文翻译不太统一,有时候被翻译为建造者模式或构建者模式,有时候也被翻译为生成器模式。为了不给读者造成困扰,我还是直接叫......
  • Android开发 - StringBuilder 类处理字符串解析
    StringBuilder是什么StringBuilder是Java中用于处理字符串的一个类。相较于String类,它更高效,尤其是在需要频繁修改字符串内容的场景下String的不可变性String是不可变的,也就是说,一旦创建了一个String对象,它的内容就无法再改变了。例如,执行以下代码时:Stringstr......
  • 【Leetcode 2032 】 至少在两个数组中出现的值 —— 哈希表与按位运算符(最全的注解)
    给你三个整数数组 nums1、nums2 和 nums3 ,请你构造并返回一个 元素各不相同的 数组,且由 至少 在 两个 数组中出现的所有值组成。数组中的元素可以按 任意 顺序排列。示例1:输入:nums1=[1,1,3,2],nums2=[2,3],nums3=[3]输出:[3,2]解释:至少在两个数组中出......
  • @Transitional注解失效场景
     @Transitional注解用于完成声明式事务操作,默认当发生RuntimeException时会对当前事务操作进行回滚,但其使用不当就会造成失效;场景一:抛出异常非RuntimeException@Transitionalpublicvoidinsert()throwsException{//insert...thrownewException();}解决......
  • 【Spring Boot进阶】掌握Spring Boot框架核心注解:从入门到精通(实战指南)
    文章目录SpringBoot注解大全:深入理解与实践引言第一部分:基础知识1.SpringBoot和Java注解简介2.SpringBoot项目搭建第二部分:核心注解详解3.@SpringBootApplication4.@Component,@Service,@Repository,@Controller,@RestController5.@Autowired6.@Bean7......
  • 【Spring进阶】掌握Spring MVC框架核心注解:从基础到实战应用(实战指南)
    文章目录SpringMVC常用注解详解及实践引言第一部分:SpringMVC基础回顾第1章:SpringMVC概述第2章:MVC模式与SpringMVC第3章:快速上手SpringMVC第二部分:核心控制器注解第4章:@Controller第5章:@RestController第6章:@RequestMapping第三部分:请求处理注解第7章:@RequestParam......