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解決方案所在目錄。
代碼生成后,我們看到各層對應的代碼均生成完畢,不得不說這個工具簡單使用。
今天的介紹就到這啦!