ABP VNext简介及使用代码生成器ABPHelper自动生成代码

ABP VNext简介

ABP VNext是abp团队重新设计的主要版本的ASP.NET Boilerplate框架。

ABP VNext改进了哪些方面?

  • 引入ASP.NET Core内置解决方案(扩展库),取消第三方和自定义解决方案依赖;
  • 模块细化。例如,核心Abp包包含许多功能,如DDD类、审计、授权、后台作业、事件总线、json序列化、本地化、多租户、线程、时间等......意将所有这些功能拆分到各自的包中并使它们可选;
  • 放弃对传统技术的支持。不再支持ASP.NET MVC 5.x、Entity Framework 6.x和其他传统技术;新的ABP框架将基于.net standard。因此,仍然可以在新的ABP框架中使用完整的.net framework或.net core。
  • 微服务。新的ABP框架可方便的开发微服务并使它们相互通信。亦可作为微服务单独部署,或者可以嵌入到单个应用程序中。
  • 更多可扩展性。新的ABP框架为内置服务提供了更多的扩展点和覆盖的能力。

ABP框架特点

  • DDD领域驱动设计
  • 多租户
  • 模块化和结构缩小
  • 主题化
  • Http Api和动态代理
  • 授权,基于Microsoft Identity库,具有用户、角色和细粒度的高级授权
  • 横切关注点,完整的己出架构,用于授权,严重,异常处理,缓存,审核日志记录,事务管理等
  • 虚拟文件系统
  • Bootstrap标签帮助和动态表单

ABP VNext脚手架安装及使用

  1. 使用命令行安装ABP VNext环境
    dotnet tool install -g Volo.Abp.Cli

  2. 使用脚手架新建一个项目
    abp new BookPro --mobile react-native
    --mobile表示不需要创建移动端,如果需要完整的包含移动端,可以直接用以下代码
    abp new BookPro
    新建的项目目录如下

  3. 简单介绍一下项目目录中比较关键的几个分层

  • Application层存放Service服务,提供给展现层使用。
  • Application.Contracts层是从Application层分离出来的一层,存放Service服务的接口及DTO。
  • Domain层存放实体、领域服务及仓储接口
  • Domain.Shared层是从Domain层分离出来的,存放枚举,常量,以及本地化。
  • EntityFrameworkCore层存放仓储的实现。
  • Web层作为展现层,项目的入口。
  1. 项目初始化
    将Web层作为启动项目,打开程序包管理控制台,默认项目选择DbMigrations。
    输入命令Add-Migration ini进行初始化
    初始化完成后,输入updata-database,完成数据库表的生成。

使用ABPHelper生成业务代码

安装 AbpHelper CLI 工具
dotnet tool install EasyAbp.AbpHelper -g

在解决方案的Domain层根目录新建一个文件夹Students,然后在该文件夹中新建一个类Student。

运行 AbpHelper
使用命令行执行以下代码进行代码生成
abphelper generate crud Student -d C:BookPro
generate crud 是生成CRUD文件的子命令
Student 指定了我们先前创建的实体名
-d 指定了由ABP CLI创建的ABP项目的根目录,也就是sln解决方案所在目录。

代码生成后,我们看到各层对应的代码均生成完毕,不得不说这个工具简单使用。

今天的介绍就到这啦!

原文地址:https://www.cnblogs.com/KQNLL/p/13647935.html