写在前面的啰嗦话
上次我介绍了自己的开源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。谢谢!
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的前端框架请移步到如下博文