ABP启动模版项目

ABP启动模版项目-前后端不分离

ABP入门教程之Web应用程序
如官方教程所言开始

  • 设置开发环境
    我们选择用ABP CLI:
    1)dotnet tool install -g Volo.Abp.Cli
    2)dotnet tool update -g Volo.Abp.Cli
  • 创建解决方案
    创建模版项目:
    1)abp new Acme.BookStore
    创建解决方案之后会生成一个可下载文件,下载!
    项目解决方案结构:
    ABP启动模版项目_第1张图片

说明开始

.Web 项目
包含应用程序的用户界面(UI)。如果使用ASP.NET Core MVC UI,它包括Razor页面,javascript文件,样式文件,图片等…
包含应用程序主要的 appsettings.json 配置文件,用于配置数据库连接字符串和应用程序的其他配置

  • 依赖 .HttpApi 项目,因为UI层需要使用解决方案的API和应用服务接口。
    如果查看 .Web.csproj 源码,你会看到对 .Application 和 .EntityFrameworkCore.DbMigrations 项目的引用
    在编写UI层时实际上不需要这些引用。因为UI层通常不依赖于EF Core或应用层的实现。这个启动模板已经为分层部署做好了准备,API层托管在不同与UI层的服务器中。
    但是如果你不选择 --tiered 选项, .Web项目会有这些引用,以便能够将Web,Api和应用层托管在单个应用程序站点。
    你可以在表示层中使用领域实体和仓储,但是根据DDD的理论,这被认为是一种不好的做法.

Test 项目
解决方案有多个测试项目,每一层都会有一个:

  • .Domain.Tests 用于测试领域层。
  • .Application.Tests 用于测试应用层。
  • .EntityFrameworkCore.Tests 用于测试EF Core配置与自定义仓储。
  • .Web.Tests 用于测试UI(适用于ASP.NET Core MVC UI)。
  • .TestBase 所有测试项目的基础(共享)项目。
  • 此外, .HttpApi.Client.ConsoleTestApp是一个控制台应用程序(不是自动化测试项目),它用于演示.Net应用程序中HTTP API的用法。
    测试项目是用于做集成测试的:
  • 它完全集成到ABP框架和应用程序的所有服务。
  • 如果数据库提供程序是EF Core(Entity Framework
    Core)
    ,测试项目会使用SQLite内存数据库;如果是MongoDB,它使用Mongo2Go库
  • 授权被禁用,任何的应用服务都可以在测试中轻松调用。
    你依然可以编写单元测试,只不过它很难写(因为你需要准备mock/fake对象),但它的运行速度更快(因为只测试单个类并跳过所有初始化程)。

说明结束

  1. 运行解决方案
    确保 .Web 项目是启动项目。 运行应用程序将会在浏览器中打开 login 页面。
    输入用户名:admin
    密码:1q2w3E* 登录应用程序。
    应用程序已启动并正在运行。你可以根据此启动模板开始开发应用程序。
    ABP启动模版项目_第2张图片
    ABP启动模版项目_第3张图片
    ABP启动模版项目_第4张图片

注意,本文运行成功条件:

  1. VS版本为2022
  2. NET版本为6.0.201 ABP启动模版项目_第5张图片
  3. 默认项目为XXX.EntityFrameworkCore
  4. 启动项目为XXX.Web
  5. 默认数据库为SQLServer

你可能感兴趣的:(.NET技术,abp,ABP)