.Net Core 依赖注入注入服务

依赖注入(Dependency Injection)

注入本身的额业务层、仓储层服务。web

  1. AddSingleton
  2. AddInstance
  3. AddScoped
  4. AddTransient
//注册单例模式,整个应用程序周期内IBLL接口的示例都是BLL的一个单例实例
services.AddSingleton<IBLL, BLL>();
services.AddSingleton(typeof(IBLL), typeof(BLL));  // 等价形式

//注册特定实例模型,整个应用程序周期内IBLL接口的示例都是固定初始化好的一个单例实例
TodoRepository2
services.AddInstance<IBLL>(new BLL());
services.AddInstance(typeof(IBLL), new BLL());  // 等价形式

//注册做用域型的类型,在特定做用域内IBLL的示例是BLL
services.AddScoped<IBLL, BLL>();
services.AddScoped(typeof(IBLL), typeof(BLL));// 等价形式

//获取该ITodoRepository实例时,每次都要实例化一次BLL类
services.AddTransient<IBLL, BLL>();
services.AddTransient(typeof(IBLL), typeof(BLL));// 等价形式

//若是要注入的类没有接口,那你能够直接注入自身类型,好比:
services.AddTransient<LoggingHelper>();