NET6 实现批量注入
我们在使用AddScoped、AddTransient、AddSingleton这类方法的时候很是麻烦。我们每增加一个接口以及其实现的时候,是不是需要在这里硬编码注册一行代码呢?项目小还好,但当我们的项目变得庞大之后,这里的依赖注入怎么来维护呢?
我们只需按照一个规定来定义和实现接口。应用程序就能自动扫描并注册这些程序集中的接口和对应实现类,完成依赖注入的自动注册,具体的实现可以通过接口或特性来实现,如果需要区分AddScoped、AddTransient、AddSingleton可以通过定义不同的接口去实现,这里我们定义IDenpendency接口做演示,具体实现如下:
我们只需按照一个规定来定义和实现接口。应用程序就能自动扫描并注册这些程序集中的接口和对应实现类,完成依赖注入的自动注册,具体的实现可以通过接口或特性来实现,如果需要区分AddScoped、AddTransient、AddSingleton可以通过定义不同的接口去实现,这里我们定义IDenpendency接口做演示,具体实现如下:
第一步:创建如下这样一个空接口
1. public interface IDenpendency { }
第二步:创建需要注入的功能接口,这类接口就是你想实现某些功能的封装,它们都继承第一步创建的接口IDenpendency,如下,我创建一个功能接口
- public interface IUserService:IDenpendency
{
//function
}
第三步:实现需要注入的功能接口,如下,我创建了一个实现UserService的类
- public class UserService:IUserService
{
//function的具体实现
}
第四步:扩展IServiceCollection批量注入方法AddDataService

第五步:在Program.cs调用AddDataService方法进行批量注入

浙公网安备 33010602011771号