ABP (ASP.NET Boilerplate Project) 最初是 ASP.NET 开发中推行最佳实践的项目框架,经过多年的发展,现在已经演变为 .NET Core 平台中企业开发领域中的最佳项目实践框架,该框架包含众多开箱即用的功能,包括: 对领域驱动设计的支持,分层体系结构,可重用可配置的模块,仓储模式支持不同的ORM, EventBus来实现服务器端全局的领域事件, … 等等。 本系列文章的目标就是用一个简单的项目,带大家入门 ABP 的开发。
本系列使用的案例是在官方案例之上做的改进,但聚焦在后端服务的开发上,如果要参考官方文档,可以访问官方教程
环境准备
本系列使用的开发环境为
VS 2019 社区版 下载, 如果你不喜欢安装如此庞大的IDE, 使用 VS Code 也是可以完成本教程的。
.NET Core SDK 3.1 [下载](https://dotnet.microsoft.com/download/dotnet-core/3.1)
安装完成以后,可以执行一下的命令安装 Abp 的命令行管理工具 (Abp CLI)
1 | dotnet tool install -g Volo.Abp.Cli |
从模板构建 Abp 项目
接下来,我们使用 abp 命令行工具建立一个项目。 因为我们聚焦在 Web API 的编写,所以就不用生成任何前端项目啦。 执行:
1 | abp new Acme.BookStoreService --ui none --mobile none |
其中 Acme.BookStoreService 是要建立的项目名, 后面两个参数是用来禁止生成前端代码的。
初始化并运行项目
进入项目解决方案目录 Acme.BookStoreService\apsnet-core 中
然后用 VS 2019 中打开 Acme.BookStoreService 项目解决方案
准备数据库
设置 Acme.BookStoreService.DbMigrator 为启动项目,然后运行该项目。
启动程序会使用 Acme.BookStoreService.DbMigrator 项目的 appsettings.json 进行设置,默认为:
1 | "ConnectionStrings": { |
执行完成后可以打开 “SQL Server 对象资源管理器” 进行查看, 可以看到,在本地 SQL Server 中建立了名为: BookStoreService 的数据库,在数据库中,也构建了框架运行需要的表结构(表明前缀为 Abp 和 Identity)。
启动服务
设置 Acme.BookStoreService.HttpApi.Host 为启动项目,并运行。
如果没有构建错误,系统将会自动打开一个浏览器,并访问服务对应的 Swagger 界面。
下一步
在 下一篇文章 中,我们将在项目中扩展逐步扩展自己的 API