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脚手架安装及使用
-
使用命令行安装ABP VNext环境
dotnet tool install -g Volo.Abp.Cli
-
使用脚手架新建一个项目
abp new BookPro --mobile react-native
--mobile表示不需要创建移动端,如果需要完整的包含移动端,可以直接用以下代码
abp new BookPro
新建的项目目录如下
-
简单介绍一下项目目录中比较关键的几个分层
- Application层存放Service服务,提供给展现层使用。
- Application.Contracts层是从Application层分离出来的一层,存放Service服务的接口及DTO。
- Domain层存放实体、领域服务及仓储接口
- Domain.Shared层是从Domain层分离出来的,存放枚举,常量,以及本地化。
- EntityFrameworkCore层存放仓储的实现。
- Web层作为展现层,项目的入口。
- 项目初始化
将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解决方案所在目录。
代码生成后,我们看到各层对应的代码均生成完毕,不得不说这个工具简单使用。
今天的介绍就到这啦!