首页 > 其他分享 >关于@RequiredArgsConstructor使用

关于@RequiredArgsConstructor使用

时间:2023-07-19 10:36:10浏览次数:42  
标签:RequiredArgsConstructor public getById readingListRepository 使用 id final 关于

1.Lombok官方解释:

@RequiredArgsConstructor为每个需要特殊处理的字段生成一个具有 1 个参数的构造函数。
所有未初始化的final字段都会获取一个参数,以及标记为@NonNull的任何字段,这些字段在声明它们的位置未初始化。
对于那些标有 @NonNull 的字段,还会生成显式空检查。如果用于标记为 @NonNull 的字段的任何参数包含 null,
则构造函数将引发 NullPointerException。参数的顺序与字段在类中的显示顺序相匹配。

2.使用--注入spring容器中的bean用于使用

使用前提:
所有未初始化的final字段:该字段使用final标记并且没有被初始化

@RequiredArgsConstructor
@Service
public class BookServiceImpl implements BookService {

    private final ReadingListRepository readingListRepository;
    @Override
    public Book getById(Long id) {
        return readingListRepository.getById(id);
    }
}

相当于使用构造器进行注入:

@Service
public class BookServiceImpl implements BookService {

    private final ReadingListRepository readingListRepository;
    public BookServiceImpl(ReadingListRepository readingListRepository) {
        this.readingListRepository = readingListRepository;
    }
    @Override
    public Book getById(Long id) {
        return readingListRepository.getById(id);
    }
}

参考文献:
lombok官方文档
文档1

标签:RequiredArgsConstructor,public,getById,readingListRepository,使用,id,final,关于
From: https://www.cnblogs.com/rong-xu-drum/p/17564868.html

相关文章

  • 54.使用VUE3+VITE+TYPESCRIPT+element-plus的setup语法糖,实现导出excel功能
    要实现导出Excel功能,你可以使用以下步骤:1.安装相关依赖:```bashnpminstallxlsxfile-saver```2.在你的组件中引入相关依赖:```javascriptimport{ref}from'vue';import{saveAs}from'file-saver';import{useTable}from'element-plus';importXLSX......
  • docker-compose使用踩坑
    之前在cm311-1a机顶盒上刷了armbian,开始把之前n5100x86小主机上的服务往上迁移,之前一直用docker,但是docker-compose没用过,正好部署rustdesk官网有docker-compose的示例,就顺便学习了一下,过程中遇到一些问题,特此记录:1.没有docker-compose命令,只有dockercompose(两个单词......
  • jdbc-plus是一款基于JdbcTemplate增强工具包,基于JdbcTemplate已实现分页、多租户、动
    ......
  • ASP.NET 6 使用工作单元操作 MongoDB
    大家好,我是Edison。最近工作中需要用到MongoDB的事务操作,因此参考了一些资料封装了一个小的组件,提供基础的CRUDRepository基类和UnitOfWork工作单元模式。今天,就来简单介绍一下这个小组件。关于MongoDB的事务MongoDB在4.2版本开始全面支持了多文档事务,至今已过了四年了,虽然......
  • [转] C# SuperSocket 服务端使用总结
    简介SuperSocket是一个轻量级,跨平台而且可扩展的.Net/MonoSocket服务器程序框架。你无须了解如何使用Socket,如何维护Socket连接和Socket如何工作,但是你却可以使用SuperSocket很容易的开发出一款Socket服务器端软件,例如游戏服务器,GPS服务器,工业控制服务和......
  • 免费使用cloudflare搭建OpenAI的接口代理
    由于GFW以及OpenAI官方的封禁,我们在国内服务器是访问不通OpenAI的官方接口的之前,我一直是使用一个网上找的第三方代理域名,但是担心使用别人的代理不安全、不稳定现在,我们可以使用cloudflare自己搭建一个OpenAI代理服务,使用我们自己的转发代理第一步:注册cloudflare账号前往官方......
  • C# 程序中使用AutoMapper实体映射
     我的开发环境framework为4.7.2添加AutoMapper9.0引用创建实体映射公共类publicclassAutoMapperUnity{publicstaticIMapperautoMapperTool;publicAutoMapperUnity(){autoMapperTool=AutoMapperUnit......
  • 【230718-1】关于x的一元二次方程x^2-(k+3)x+2k+2=0 1)求证方程总有两个实根 2)若方程
    【230718-1】关于x的一元二次方程x^2-(k+3)x+2k+2=01)求证方程总有两个实根2)若方程有一根小于1,求k的取值范围。【解答】......
  • 分布式事务的对比、优缺点、适用场景及使用注意事项
    分布式事务的对比、优缺点、适用场景及使用注意事项分布式事务是指涉及到多个独立节点之间的事务处理,这些节点可能位于不同的物理设备或不同的网络环境下。在分布式系统中,由于节点的独立性和异构性,分布式事务的处理变得更加复杂和困难。为了确保分布式系统中数据的一致性和可靠性,......
  • Flutter ncnn 使用
    Flutter实现手机端App,如果想利用AI模型添加新颖的功能,那么ncnn就是一种可考虑的手机端推理模型的框架。本文即是Flutter上使用ncnn做模型推理的实践分享。有如下内容:ncnn体验:环境准备、模型转换及测试Flutter项目体验:本文demo_ncnn体验Flutter项目实现创建......