依赖注入
- 瞬态
- 作用域
- 静态
注册:
builder.Serivces.AddTransient< 抽象Service, XXXService>();//若注入IimplementationService,则注入参数类型应为抽象类。
注入:
-在Controller/Service构造器中将作为参数注入;
-也能在minimalApi里作为参数注入;
生命周期:
Transient
瞬时builder.Serivces.AddTransient< Isever, sever>(); builder.Serivces.AddTransient(typeof(Isever),typeOf(sever));
Scoped
线程/作用域
类似会话。builder.Serivces.AddScoped< Isever, sever>(); builder.Serivces.AddScoped(typeof(Isever),typeOf(sever));
Singleton
单例
可用在数据库、redis连接上。builder.Serivces.AddSingleton< Isever, sever>(); builder.Serivces.AddSingleton(typeof(Isever),typeOf(sever)); builder.Serivces.AddSingleton<Isever>(Server sever));
依赖倒置
注入方式:
- 构造函数
- 属性注入
- 方法注入