寫在前面的啰嗦話
上次我介紹了自己的開源WebApi框架(https://www.cnblogs.com/shengyu-kmust/p/8279300.html),當時做此框架時,asp.net core 才出到1.0。現在asp.net core的版本已經到了3.1,以后core是大的趨勢了。博主經過了將近兩年的開發實踐,結合自己項目上的經驗,開發了基於asp.net core 3.1的另一個框架,本意是用於自己接私活時用。此框架包含代碼生成功能,生成后端和前端的代碼,並能自動生成數據庫。我已經用此框架開發了幾個項目,還是比較穩定的。項目使用的技術都是這兩年在實踐中總結和積累的技術點。現在開源出來,並打算做一系列的博文,對此框架的各各個技術點和功能做一個介紹。現在國內的.net行情不是太好,在網上一搜,全是java的,哎,博主現在31歲,坐標昆明,一個it技術很不發達的城市,在這里已經很難找到一個待遇對得起自己的工作了,每個月的房貸又重,中年人的悲催。。。此框架是我這幾年的技術積累,利用業余時間做博文介紹和開源維護,希望能給國內的.net做一點貢獻。如果你看到這系列博文,請不惜給個github star。謝謝!
Github地址
此項目一直在更新的,如有問題,可github提issues
snailAspNetCoreFrameWork倉庫地址:https://github.com/shengyu-kmust/SnailAspNetCoreFramework
snail公共庫地址:https://github.com/shengyu-kmust/Snail
SnailAspNetCoreFramework介紹
SnailAspNetCoreFramework是什么,能做什么?
- 基於asp.net core 3.1的快速開發框架,針對后台管理類型項目、前后端分離
- 只需一個配置文件,即可快速生成項目,包含后端代碼、前端代碼、數據庫等代碼。
有什么功能,用了什么技術?
- 項目總體是基於asp.net core 3.1,vue-element-admin,entityframework
- 通用權限的實現,基於角色進行權限控制(RBAC設計),可自已定義User,Role等表,能很好的加入到現有的項目。
- 定時任務功能,用hangfire技術,只需在方法上加上特性即可自動添加到定時任務
- 多數據庫支持,用entityframework,不需改代碼即可適配MySql,Oracle,SqlServer,SqlLite等多種數據庫
- 良好的輸入輸出格式約定和異常處理
- 接口文檔Swagger,用NSwagger技術。接口描述支持、生產和開發環境停啟用功能
- 多種緩存技術,如接口緩存,service層的aop緩存,實體緩存等,支持本地緩存和分布式緩存的切換
- 依賴注入和aop功能,用autofac實現。已包含日志和緩存兩種aop實現,各service會自動注入
- eventbus,用cap實現。
- command bus,集成Mediator
- 通用CRUD功能,controller、service和dal層的CRUD代碼自動生成
- 實時通訊,用Signalr
- 日志功能,用NLog
- 代碼生成功能,用t4模塊生成各層級的代碼
- 單元測試,用xunit,測試項目已經搭建好,只需寫測試用例
- entityframework code first,根據代碼生成數據庫。提供migrate和ensureCreated兩種方式,分別適用於持續更新版本和快速搭建上線兩種情況
- automapper,已實現所有Entity和Dto之間的映射
- 前端常用的組件,如CRUD組件,table組件,form表單組件,這個組件只需一個配置json可即完成常用的完整功能,不再重復敲代碼
如何下載和使用
- 項目github地址為:https://github.com/shengyu-kmust/SnailAspNetCoreFramework,本次的系列博文是基於tag=v1.0,以后此項目會持續更新維護。
- 項目的簡單入門教程請看如下gif
- 下載和運行項目
- 自動生成功能的配置
- 運行效果
后續會有系列博文對此框架做一個詳細的介紹,暫時定義如下章節
- 1.框架內各項目及目錄的介紹和總設計思路——SnailAspNetCoreFramework快速開發框架
- 2.接口輸入校驗、輸出格式、及異常處理——SnailAspNetCoreFramework快速開發框架之后端設計
- 3.通用權限設計——SnailAspNetCoreFramework快速開發框架之后端設計
- 4.如何提供給前端良好的接口文檔(Swagger)——SnailAspNetCoreFramework快速開發框架之后端設計
- 5.各場景下的緩存使用——SnailAspNetCoreFramework快速開發框架之后端設計
- 6.基於castle的AOP設計和常用緩存、性能、日志攔截器實現——SnailAspNetCoreFramework快速開發框架之后端設計
- 7.依賴注入介紹之autofac——SnailAspNetCoreFramework快速開發框架之后端設計
- 8.為什么用Eventbus,怎么用——SnailAspNetCoreFramework快速開發框架之后端設計
- 9.日志組件之Nlog介紹——SnailAspNetCoreFramework快速開發框架之后端設計
- 10.Mediatr介紹——SnailAspNetCoreFramework快速開發框架之后端設計
- 11.controller、service、dal層的通用CRUD設計——SnailAspNetCoreFramework快速開發框架之后端設計
- 12.對象映射之利器automapper——SnailAspNetCoreFramework快速開發框架之后端設計
- 13.如何監控ef生成的sql語句——SnailAspNetCoreFramework快速開發框架之后端設計
- 14..net core的幾種部署方式介紹——SnailAspNetCoreFramework快速開發框架之后端設計
- 15.實時通訊之signalr——SnailAspNetCoreFramework快速開發框架之后端設計
- 16.如何用ef code first進行項目的數據庫版本持續迭代——SnailAspNetCoreFramework快速開發框架之后端設計
- 17.代碼自動生成功能介紹——SnailAspNetCoreFramework快速開發框架之后端設計
- 18.如何監控項目的各個功能是否正常(HealthCheck)——SnailAspNetCoreFramework快速開發框架之后端設計
- 19.定時任務之hangfire介紹——SnailAspNetCoreFramework快速開發框架之后端設計
- 20.前端總體介紹——SnailAspNetCoreFramework快速開發框架之前端設計
- 21.再也不用跪求后端接口了(MOCK的使用)——SnailAspNetCoreFramework快速開發框架之前端設計
- 22.前端的權限控制——SnailAspNetCoreFramework快速開發框架之前端設計
- 23.如何避免重復寫前端的CRUD代碼(前端各種SnailXXX組件介紹和使用)——SnailAspNetCoreFramework快速開發框架之前端設計
- 24.請求代理介紹——SnailAspNetCoreFramework快速開發框架之前端設計
基於asp.net的前端框架請移步到如下博文
webapi框架搭建系列博客