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的翻译不是很好

原文地址:https://www.cnblogs.com/dazen/p/12232912.html

时间: 2024-08-29 10:03:34

Asp.Net Core 3.1 Api 集成Abp项目依赖注入的相关文章

Asp.Net Core 3.1 Api 集成Abp项目动态WebApi

上一节讲到了abp的依赖注入,其实我们用webapi时,控制器的代码几乎都是多余的,abp为我们提供了Application层动态生成WebApi接口的功能 我们在ApiHost 项目安装 Swashbuckle.AspNetCore Nuget Package 5.0.0 在Startup中使用它, 访问项目路径加上/Swagger回车就可以看到接口了 但是现在Application的方法还没有动态生成WebApi 我们加入“用Application项目创建webapi控制器的代码” ,但是这

使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(六)-- 依赖注入

本篇将介绍Asp.Net Core中一个非常重要的特性:依赖注入,并展示其简单用法. 第一部分.概念介绍 Dependency Injection:又称依赖注入,简称DI.在以前的开发方式中,层与层之间.类与类之间都是通过new一个对方的实例进行相互调用,这样在开发过程中有一个好处,可以清晰的知道在使用哪个具体的实现.随着软件体积越来越庞大,逻辑越来越复杂,当需要更换实现方式,或者依赖第三方系统的某些接口时,这种相互之间持有具体实现的方式不再合适.为了应对这种情况,就要采用契约式编程:相互之间依

学习ASP.NET Core,你必须了解无处不在的“依赖注入”

ASP.NET Core的核心是通过一个Server和若干注册的Middleware构成的管道,不论是管道自身的构建,还是Server和Middleware自身的实现,以及构建在这个管道的应用,都需要相应的服务提供支持,ASP.NET Core自身提供了一个DI容器来实现针对服务的注册和消费.换句话说,不只是ASP.NET Core底层框架使用的服务是由这个DI容器来注册和提供,应用级别的服务的注册和提供也需要以来这个DI容器,所以正如本文标题所说的——学习ASP.NET Core,你必须了解无

ASP.NET Core中使用GraphQL - 第三章 依赖注入

ASP.NET Core中使用GraphQL ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中间件 SOLID原则中的D表示依赖倒置原则.这个原则的内容是: 上层模块不应该直接依赖底层模块,而应该依赖其抽象 抽象不应该依赖于细节, 细节应该依赖抽象 来源:WIKIPEDIA 在一个模块中创建一个其他模块的实例会导致这个模块与其他模块之间的紧耦合. 为了让不同的模块解耦,我们需要遵循依赖倒置原则.按照这种

NET Core,你必须了解无处不在的“依赖注入”

NET Core,你必须了解无处不在的“依赖注入” ASP.NET Core的核心是通过一个Server和若干注册的Middleware构成的管道,不论是管道自身的构建,还是Server和Middleware自身的实现,以及构建在这个管道的应用,都需要相应的服务提供支持,ASP.NET Core自身提供了一个DI容器来实现针对服务的注册和消费.换句话说,不只是ASP.NET Core底层框架使用的服务是由这个DI容器来注册和提供,应用级别的服务的注册和提供也需要以来这个DI容器,所以正如本文标题

asp.net core 系列之webapi集成Dapper的简单操作教程

Dapper也是是一种ORM框架 这里记录下,使用ASP.NET 集成 Dapper 的过程,方便自己查看 至于Dapper的特性以及操作可以参考Dapper官方文档 1.创建数据库相关 在Sql Server 创建一个叫做 DapperDemo 的数据库 再创建一个叫做 Products 的表 脚本如下 CREATE TABLE [dbo].[Products]( [ProductID] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](max)

[转]解读ASP.NET 5 & MVC6系列(7):依赖注入

本文转自:http://www.cnblogs.com/TomXu/p/4496440.html 在前面的章节(Middleware章节)中,我们提到了依赖注入功能(Dependency Injection),ASP.NET 5正式将依赖注入进行了全功能的实现,以便开发人员能够开发更具弹性的组件程序,MVC6也利用了依赖注入的功能重新对Controller和View的服务注入功能进行了重新设计:未来的依赖注入功能还可能提供更多的API,所有如果还没有开始接触依赖注入的话,就得好好学一下了. 在之

解读ASP.NET 5 & MVC6系列(7):依赖注入

解读ASP.NET 5 & MVC6系列(7):依赖注入 2015-05-20 09:10 by 汤姆大叔, 9986 阅读, 26 评论, 收藏, 编辑 在前面的章节(Middleware章节)中,我们提到了依赖注入功能(Dependency Injection),ASP.NET 5正式将依赖注入进行了全功能的实现,以便开发人员能够开发更具弹性的组件程序,MVC6也利用了依赖注入的功能重新对Controller和View的服务注入功能进行了重新设计:未来的依赖注入功能还可能提供更多的API,所

asp.net core 2.0 webapi集成signalr

在博客园也很多年了,一直未曾分享过什么东西,也没有写过博客,但自己也是汲取着博客园的知识成长的: 这两天想着不能这么无私,最近.NET CORE貌似挺流行的,闲来无事也自己搞了个asp.net core signalr 博客园里面也有人在.net core 2.0下面集成了signalr,但是是集成在同一个项目里面的,但是大家都知道我们很多的项目都是分离的: 而且signalr涉及到连接数和内存资源的占用问题,如果都集成在一个项目里面当访问量多大的时候容易造成网站访问缓慢,具体原因就不多说了 所