• 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解决方案所在目录。

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

    今天的介绍就到这啦!

  • 相关阅读:
    Flask特殊装饰器
    flask中的Response、Request、Session、装饰器、实例化参数、蓝图、
    QC的安装和配置
    测试用例设计方法-因果图(鱼骨图)
    测试用例设计方法-流程分析法(场景法)
    测试用例设计方法-状态迁移
    测试用例设计方法-正交实验
    测试用例设计方法-判定表
    测试用例设计方法-边界值
    测试用例设计方法-等价类划分
  • 原文地址:https://www.cnblogs.com/KQNLL/p/13647935.html
Copyright © 2020-2023  润新知