https://blog.csdn.net/KascLiyuan/article/details/79617557
依赖注入(Dependency Injection)
注入自己的额业务层、仓储层服务。
- AddSingleton
- AddInstance
- AddScoped
- 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>();