依赖注入
文章目录
- 依赖注入
- 一、.net core主要提供了三种依赖注入的方式
- 二、权重
- 三、如果我们需要注入的对象很多怎么办
一、.net core主要提供了三种依赖注入的方式
AddTransient瞬时模式: 每次请求,都获取一个新的实例。即使同一个请求获取多次也会是不同的实例
AddScoped: 每次请求,都获取一个新的实例。同一个请求获取多次会得到相同的实例
AddSingleton单例模式: 每次都获取同一个实例
二、权重
AddSingleton→AddTransient→AddScoped
AddSingleton的生命周期:
项目启动-项目关闭 相当于静态类 只会有一个
AddScoped的生命周期:
请求开始-请求结束 在这次请求中获取的对象都是同一个
AddTransient的生命周期:
请求获取-(GC回收-主动释放) 每一次获取的对象都不是同一个
三、如果我们需要注入的对象很多怎么办
通过反射来解决
新建扩展方法CoreExtensions
,然后在Startup
中ConfigureServices
方法中加上 services.AddRepository();
。
services.AddRepository();