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

构造函数实现依赖注入

        构造函数注入是依赖注入(Dependency Injection)的一种形式,它允许您在创建对象时,将对象所需的依赖项通过构造函数传递给它,而不是在对象内部自己创建或查找这些依赖项。这有助于增强代码的可测试性和可维护性,因为它允许您轻松地替换依赖项的实现(例如,在测试环境中使用模拟对象)。

定义接口实例

        定义了一系列私有、不可变的(final)字段来存储Mapper和Service接口的实例。这些字段将用于在ServiceImpl(实现类)的方法中执行数据库操作或调用其他服务。

private final ProdOrderDealMapper prodOrderDealMapper;private final SchoolCardEnrollmentMapper schoolCardEnrollmentMapper;

定义构造函数

 public SchoolCardServiceImpl(ProdOrderDealMapper prodOrderDealMapper,SchoolCardEnrollmentMapper schoolCardEnrollmentMapper) {this.prodOrderDealMapper = prodOrderDealMapper;this.schoolCardEnrollmentMapper = schoolCardEnrollmentMapper;}

        这是一个构造函数,它接受多个参数(Mapper和Service接口的实现)并将它们分别赋值给上面定义的字段。通过这种方式,您可以确保在创建SchoolCardServiceImpl的实例时,所有的依赖项都已经被正确地注入。

方法中使用:
 

   @Overridepublic Map<String, Object> SchoolCardEnrollment(Map<String, Object> params) {schoolCardEnrollmentMapper.insertSchoolCardEnrollment();return null;}

这样就实现了构造函数式的依赖注入啦!!!

相关文章:

  • 嘉楠勘智CanMV-K230的大小核如何操作
  • MapReduce 实践题:Web 访问日志分析与异常检测
  • Selenium - 翻页(常用代码)
  • 第七章-2·集合
  • uniapp 自定义页面顶部导航栏
  • Selenium WebDriver - 浏览器交互
  • 大模型参数高效微调学习笔记
  • 从0开发一个Chrome插件:用户反馈与更新 Chrome 插件
  • C++面向对象三大特性--多态
  • Java程序之简单“记事本”
  • 【感悟】世界著名五大学习法
  • C# OpenCvSharp 图像处理函数-颜色通道-cvtColor
  • ViT:5 Knowledge Distillation
  • ADB获取当前正在显示的Activity和Fragment
  • 使用 select 进行 UART 通信的注意事项
  • [case10]使用RSQL实现端到端的动态查询
  • ES6简单总结(搭配简单的讲解和小案例)
  • Java|序列化异常StreamCorruptedException的解决方法
  • JavaScript 基本功--面试宝典
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • js递归,无限分级树形折叠菜单
  • mysql中InnoDB引擎中页的概念
  • Python 基础起步 (十) 什么叫函数?
  • Wamp集成环境 添加PHP的新版本
  • 多线程事务回滚
  • 给初学者:JavaScript 中数组操作注意点
  • 今年的LC3大会没了?
  • 聊聊redis的数据结构的应用
  • 双管齐下,VMware的容器新战略
  • 探索 JS 中的模块化
  • 用element的upload组件实现多图片上传和压缩
  • 白色的风信子
  • kubernetes资源对象--ingress
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 阿里云服务器如何修改远程端口?
  • (4)logging(日志模块)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (js)循环条件满足时终止循环
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)ssm高校实验室 毕业设计 800008
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)为C# Windows服务添加安装程序
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .gitignore文件---让git自动忽略指定文件
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET 中的轻量级线程安全
  • .net网站发布-允许更新此预编译站点
  • .net下的富文本编辑器FCKeditor的配置方法
  • .NET中的Exception处理(C#)
  • .Net转前端开发-启航篇,如何定制博客园主题
  • @media screen 针对不同移动设备
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [ 物联网 ]拟合模型解决传感器数据获取中数据与实际值的误差的补偿方法