当前位置: 首页 > news >正文

Spring-boot读书笔记一@builder

the complete details of what Lombok's @Builder annotation generates for the CourseNameRating class:

Generated Builder Class (by Lombok):

// This entire class is generated by Lombok at compile time
public static class CourseNameRatingBuilder {// Private fields to store values during buildingprivate String name;private int rating;// Default constructorCourseNameRatingBuilder() {}// Setter method for name (returns builder for chaining)public CourseNameRatingBuilder name(String name) {this.name = name;return this;  // Returns 'this' for method chaining}// Setter method for rating (returns builder for chaining)  public CourseNameRatingBuilder rating(int rating) {this.rating = rating;return this;  // Returns 'this' for method chaining}// Build method - creates the final objectpublic CourseNameRating build() {return new CourseNameRating(this.name, this.rating);}// toString method for debuggingpublic String toString() {return "CourseNameRating.CourseNameRatingBuilder(name=" + this.name + ", rating=" + this.rating + ")";}
}// Static factory method (also generated by Lombok)
public static CourseNameRatingBuilder builder() {return new CourseNameRatingBuilder();
}

How it works step by step:
1. CourseNameRating.builder()

  • Calls the static factory method
  • Creates and returns a new CourseNameRatingBuilder instance
    2. .name(course.getName())
  • Calls CourseNameRatingBuilder.name(String name)
  • Sets this.name = "Spring Boot" (example)
  • Returns the same builder instance
    3. .rating(course.getRating())
  • Calls CourseNameRatingBuilder.rating(int rating)
  • Sets this.rating = 4 (example)
  • Returns the same builder instance
    4. .build()
  • Calls CourseNameRatingBuilder.build()
  • Creates new CourseNameRating("Spring Boot", 4)
  • Returns the completed CourseNameRating object

Key Features:

  • Method chaining: Each setter returns this
  • Immutable result: Final object can't be changed after creation
  • Type safety: Compile-time checking of required fields
  • Clean API: Fluent, readable object construction
http://www.jsqmd.com/news/201129/

相关文章:

  • 基于Python的商场停车管理系统的设计与实现毕业设计项目源码
  • AI应用架构师指南:构建业务需求到技术架构自动化映射智能体的核心模块
  • 基于SSM框架技术的房屋代管租赁系统的设计与实现毕业设计项目源码
  • 基于SSM农产品销售系统的设计与实现毕业设计项目源码
  • 1、程序员入门教程【非常详细】从零基础入门到精通,看完这一篇就够了 !
  • 深度学习计算机毕设之基于机器学习的CNN卷积神经网络对海洋壳类生物识别人工智能
  • 基于Python的购物管理系统毕业设计项目源码
  • 【韩剧】操控游戏全12集 4K高码完结 下载教程和资源分享
  • AI Coding全流程教程——0基础搭建“MEMO”健康打卡全栈Web应用(附提示词)
  • 泛型算法概述
  • 基于微信小程序的在线预约挂号系统(源代码+文档+PPT+调试+讲解)
  • 测试卡壳?掌握这7招,让你的业务代码“可测性”起飞!
  • 如何利用数据中台提升大数据领域的竞争力
  • 六大本科生论文抽检工具各有特色,用户可参考排名并依据查询需求选择
  • AI大模型:基于Python音乐推荐系统 数据分析可视化 协同过滤推荐算法 大数据毕业设计(全套源码+文档)建议收藏
  • Centos 7编译musl
  • 2025年程序员自由职业真相:赚钱更多了,还是更卷了?——一份基于300万人生存数据的年度报告
  • 不同功率电力设备,如何匹配对应的免维护吸湿器?
  • 基于CS架构的医院财务管理系统-计算机毕业设计源码+LW文档
  • AI大模型毕业设计:Django 淘宝商品预测系统 ARIMA预测 电商数据分析可视化 Hadoop spark(requests爬虫+销量时序预测 源码)✅
  • 关于软件外包平台,一些不太写在规则里的现实情况
  • 深度学习毕设选题推荐:人工智能基于机器学习的CNN卷积神经网络对海洋壳类生物识别
  • 基于Python的就业网站可视化系统设计与实现-计算机毕业设计源码+LW文档
  • 输入工作压力值,用可拓减压思维,输出5分钟+10分钟的碎片化减压方案,提升工作效率。
  • Flutter 数据库模块之 Draft 设计
  • 深度学习毕设选题推荐:基于python卷积神经网络训练识别牙齿是否健康机器学习
  • 北京收酒认准这家!亲测京城亚南酒业,童叟无欺太踏实 - 品牌排行榜单
  • 基于Python的商场停车管理系统的设计与实现-计算机毕业设计源码+LW文档分享
  • 一看就会的常间Mysql绕过方式
  • flask: uwsgi的启动、停止、重新加载