Asp.Net Core 3.1 Api 集成Abp项目依赖注入

时间:2023-03-09 17:08:26
Asp.Net Core 3.1 Api 集成Abp项目依赖注入

Abp 框架 地址https://aspnetboilerplate.com/

我们下面来看如何在自己的项目中集成abp的功能

我们新建core 3.1 API项目和一个core类库

Asp.Net Core 3.1 Api 集成Abp项目依赖注入

然后 两个项目都要安装Abp Nuget Package 版本为5.1.0

Asp.Net Core 3.1 Api 集成Abp项目依赖注入

如上图,在Application项目新建项目模块类,Initialize方法中,会在启动时扫描dll中需要依赖注入的类和接口

Asp.Net Core 3.1 Api 集成Abp项目依赖注入

如上图,在ApiHost项目新建项目模块类,该项目依赖Application项目

Asp.Net Core 3.1 Api 集成Abp项目依赖注入

在Application 建立Qualities文件夹,在Dto文件夹中新建一个数据传输模型 TestCaseDto,继承Abp的Entity(提供一个int型的Id)

Asp.Net Core 3.1 Api 集成Abp项目依赖注入

在Qualities中新建接口ITestCaseAppServiceAsp.Net Core 3.1 Api 集成Abp项目依赖注入

Asp.Net Core 3.1 Api 集成Abp项目依赖注入

新建TestCaseAppService继承接口,并且继承ITransientDependency ,Abp会扫描继承该接口,依赖注入时生命周期为瞬时的,另外一个常见的接口是ISingletonDependency.

ApiHost项目安装Abp.AspNetCore Nuget Package 5.1.0,Startup 类引入命名空间using Abp.AspNetCore;

Asp.Net Core 3.1 Api 集成Abp项目依赖注入

ConfigurationServices改了返回值类型为IServiceProvider后需要,修改Program类

Asp.Net Core 3.1 Api 集成Abp项目依赖注入

改了,Startup类以后,我们用到了Abp.AspNetCore 项目,所以我们需要在Module中依赖引入AbpAspNetCoreModule

Asp.Net Core 3.1 Api 集成Abp项目依赖注入

然后我们在控制器中调用Application的方法

Asp.Net Core 3.1 Api 集成Abp项目依赖注入

这样就可以拿到数据了,使用Abp的框架的依赖注入就到这里结束