nestjs 通过名称获取ioc服务

news/2025/11/16 8:02:12/文章来源:https://www.cnblogs.com/rongfengliang/p/19202846

nestjs 通过名称获取ioc服务

nestjs 一个比较强大的功能就是ioc,一般如果大家都使用ts 就比较简单,但是我们可能希望使用名称获取注册的服务,以下是一个简单说明

机制

核心就是通过注册提供一个token名称,之后通过这个名称获取服务

参考使用

  • 注册服务
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { APP_SERVICE } from './constants';@Module({imports: [],controllers: [AppController], // 此处是核心,注册使用provide (token) useClass 是类providers: [{provide: APP_SERVICE,useClass: AppService}],
})
export class AppModule {}
  • 使用
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { APP_SERVICE } from './constants';  
async function bootstrap() {const app = await NestFactory.create(AppModule);const helloMessage = app.get(APP_SERVICE).getHello();console.log(helloMessage);await app.listen(process.env.PORT ?? 3000);
}
bootstrap();

说明

通过基于名称的服务查找还是有用的,比如一些动态场景,目前来说机制上暂时不如midwayjs 使用简单,midwayjs 可以直接通过服务名就可以获取服务, 当然通过moduleRef 也是一种方法,后边会介绍下

参考资料

https://midwayjs.org/en/docs/container

https://docs.nestjs.com/fundamentals/module-ref

https://docs.nestjs.com/providers

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/966735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年毕业论文神器!9款免费AI工具助你轻松搞定论文写作

校园论坛上大四同学哭诉论文答辩临近但论文一团糟,查重率高还可能延毕,众多同学也在毕业论文中挣扎。为此分享9款免费AI论文工具,如PaperFine专注论文领域,能快速生成初稿、智能改稿等;AI论文及时雨擅长文献综述;…

qt6 wayland widget设置位置不起作用

参考:http://www.qtcn.org/bbs/read-htm-tid-91884.html 现在很多linux用wayland作为桌面显示,这样会出现一个问题,由于没有坐标系统,导致无边框窗体无法拖动和定位(一般是Qt6开始强制默认优先用wayland,之前Qt5…

飞机汉化

https://t.me/setlanguage/zhcncc

revit 二次开发 添加一个winform非模态对话框

revit 二次开发 添加一个winform非模态对话框 RequestHandler handler = new RequestHandler(); ExternalEvent exEvent = ExternalEvent.Create(handler); this.m_mainForm = new CableLayMainForm(uiApp.get_Activ…

宇树、乐聚、智元共同冲击IPO,谁将拔得头筹?

微信视频号:sph0RgSyDYV47z6快手号:4874645212抖音号:dy0so323fq2w小红书号:95619019828B站1:UID:3546863642871878B站2:UID: 3546955410049087近日,智元机器人完成股改,其关联公司发生工商变更,企业名称变更…

Dism-Cleanup-image

Dism-Cleanup-image导航 (返回顶部)1. 撤销最近的系统更改 2. 确定 WinSxS 文件夹的实际大小2.1 AnalyzeComponentStore 2.2 查看可清理的组件3. 清除 WinSxS 資料夾3.1 StartComponentCleanup4. 删除安装服务包期间创…

无内存(RAM)情况下也能更新BIOS了

现代主板的BIOS芯片(通常为Flash ROM)内置了独立的刷新程序,该程序存储在BIOS芯片的保留区域(如Boot Block)。即使没有CPU、内存或操作系统,主板仍能通过专用按钮或接口触发此程序‌。 刷新过程完全由主板上的微…

解决Portainer在Docker更新后无法连接local环境

原因 Docker API更新导致Portainer无法链接local环境,提示Environment local is unreachable。 解决方法 方案来自(Docker 29 API Changes Breaking Changes 编辑docker.service: systemctl edit docker.service添加D…

省赛游记

省赛游记Posted on 2025-11-16 01:49 tttfred 阅读(0) 评论(0) 收藏 举报遗憾|惊险|守银 感觉自己是大赛软脚虾。 一开始整个队没进入状态,前五十分钟就做了一个签到,但是之后在所有人的努力下10分钟一道把签…

SQL注入之上传getshell(sqli-labs/less7)

SQL注入之上传getshell(sqli-labs/less7)讲了sqli-lab中的less7,如何利用SQL注入上传getshellsqli-labs访问时遇到的问题 有时候会出现如下情况,是php高版本不兼容这个函数,勾选成成老版本的php就好了SQL注入中上…

高级语言程序设计第五次 作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求在哪里:https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14581 学号:102500417 姓名:刘朝榕 设计程序 1.2.3.书本作业 8.11 38…

思考题:矩阵拆分行列式

https://www.luogu.com.cn/problem/solution/P10182

未知与已知---思考学习进度

未知与已知---思考&学习进度当看到一道新题目时,思维很乱,然后觉得毫无头绪。看着题想不出来就很容易注意力分散,导致浪费甚至停止当日的学习任务,看解法又很应当了。但是做完以后,觉得自己或许再想想,就可以…

Flash AS3 ComboBox组合框点击下拉报错并且无法弹出列表

Flash AS3 ComboBox组合框点击下拉报错并且无法弹出列表 先说结论:这是组件依赖问题,只要把TextArea和List拖入到舞台上再删掉就解决了。 如图,当ComboBox组合框中有数据时,点击下拉后不弹出列表,并且发生错误:…

思考题:一类sum转delta的贡献处理方式

点击查看做题思路 ``` 我们将贡献定义成某一类东西之和时,转移容易受到重重因素的限制。 因此,我们可以考虑将贡献仅仅记为答案于此处的delta,最后求解时将所有点的delta合并起来就是答案。 原理: ```例题1:上次g…

KEYDIY KD ZB07-5 5-Button Universal Smart Remote Key 5pcs – Keyless Entry for European/American Cars

## The Smart Key Replacement Solution European & American Mechanics and Owners Have Been Waiting For ### The Problem: Rising Costs and Compatibility Headaches In today’s automotive landscape, repl…

20234320 2025-2026-1 《网络与系统攻防技术》实验五实验报告

20234320 2025-2026-1 《网络与系统攻防技术》实验五实验报告 1.实验内容 任务一:DNS与IP信息查询: 查询baidu.com注册人及联系方式,域名对应IP地址,IP地址注册人及联系方式,IP地址地理位置信息 任务二:好友位置…

Legendre公式

参考:Legendre公式:数论罪恶的开始 - 知乎 Legendre公式和Kummer定理 - tkandi - 博客园     Legendre公式: 解释:n是一个正整数,p是一个小于等于n的质数 输出:通过Legendre公式可得到 n! 的其中一个质数 p 的…

字的bi-gram是个馊主意么?

续之前的贴子,我们有了部精修词典,二至六字词共169872个。 foreach 词,用字的2-gram去检查首选是否正确,结果很差,可在〔这里〕下载 123094个不一样的。部分结果:䴔䴖 交警 𫘝𫘨 抉剔 吖嗪 阿嗪 腌菜 言采 腌…

在Caddy 上使用php-fpm

Caddy 也可以跟php-fpm运作得很融洽,且设定上也相当简单,这篇文章就简单纪录操作方式。 安装必要元件 必要元件肯定就是Caddy 以及php-fpm了嘛。 Caddy 的安装方式可以参考这篇文章。 而至于php-fpm,则直接使用下面…