Asp.Net Core 3.1 Api 集成Abp项目依赖注入 - 最佳解决方案

时间:2024-01-26 07:48:18

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

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

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

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

 

 

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

 

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

 

 

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

 

 

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

在Qualities中新建接口ITestCaseAppService

 

 

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

 

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

 

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

 

 

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

 

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

 

 这样就可以拿到数据了,使用Abp的框架的依赖注入就到这里结束,有其他不懂得可以去官网看看,英文不好的可以用最新版Edge翻译,Chrome的翻译不是很好