老周的ABP框架系列教程 ——
一、框架理论初步学习
1、 ABP框架的来源与作用简介
1.1 简介
1.1.1 ABP框架全称为“ASP.NET Boilerplate Project”,中文翻译为” ASP.NET样板项目”,诞生的主要目的就是为了让.NET程序员“秒变”架构师,将.NET企业级项目的主流开发技术、最先进的架构整合起来,让.NET工程师能够更快的开发出更好的项目。
1.1.2 ABP官方网站:http://www.aspnetboilerplate.com/ (这个十分重要,开发项目需从官网生成框架源码,从而在VS中载入框架项目的sln文件)
1.1.3 ABP GitHub源码地址:https://github.com/aspnetboilerplate
1.2 框架所包含技术
1.2.1 .NET MVC 5、Web API 2、C# 5.0
1.2.2 领域驱动设计,如实体、仓储、领域服务、领域事件、应用服务、数据传输对象、工作单元等
1.2.3 分层体系结构:基础设施层 =》 领域层 =》 应用层 =》 展现层
1.2.4 提供一个基础架构来开发可重用可配置的模块
1.2.5 集成现今主流流行的前端开发框架(Bootstrap、Less、AngularJs、jQuery、Modernizr、jQuery.validate、jQuery.form、jQuery.blockUI、json2等)
1.2.6 提供一个基础架构实现IOC(依赖注入,主要采用Castle Windsor)
1.2.7 支持并实现数据迁移,这里主要采用Entity Framework
1.2.8 模块化开发,每个模块可单独指定数据库,拥有独立的EF DbContext
1.2.9 包含一个简单灵活的多语言/本地系统
1.2.10 通过EventBus实现服务端全局领域事件
1.2.11 统一异常处理,应用层不需要自己写异常处理代码
1.2.12 提供针对Application层方法的参数有效性认证
1.2.13 通过Application Service创建Web API层,无需编写ApiController
1.2.14 提供基类帮助用户实现一些常见任务
1.2.15 约定优于配置
1.2.16 Zero模块提供身份验证、授权管理、用户&角色管理、系统设置存取管理、审计日志
2、 创建ABP框架项目
2.1 首先进入官方网站:http://www.aspnetboilerplate.com/
2.2 如下图,输入你的项目名称,ABP官网会自动生成项目文件压缩包
2.3 下载完成后,解压缩到项目目录中
2.4 通过VS打开项目sln文件,笔者这里采用的是Visual Studio 2015版本
2.5 第一次加载可能会有较大几率出现VS警告停止工作的情况,不用理睬,第二次打开VS,重新加载项目sln文件即可(笔者测试过,VS2013也会出现这样的状况)。
注:如一直出现VS加载后重启的状况,请至ABP项目文件目录下的.vs文件夹,删除里面的内容后重新再通过VS加载即可。
2.6 开启项目后会提示如下警告,去掉复选框中的钩后单机确定
2.7 进入项目后,首先打开NuGet包管理器,它会自动安装ABP框架所欠缺的包
2.8 单机还原
2.9 首先将web项目设为启动项目
2.10 然后在NuGet包管理器控制台,设置EntityFramework模块为默认项目,如图:
2.11 在NuGet的还原操作完成后,在NuGet控制台输入命令:Update-Database来初始化数据库
2.12 在NuGet完成包还原操作后,运行Update-Database命令,得到“Running Seed Method”后完成ABP初始化配置
2.13 接下来就开始用VS来驰骋ABP吧!
老周的ABP框架系列教程 -》 一、框架理论初步学习的更多相关文章
-
2019 年起如何开始学习 ABP 框架系列文章-开篇有益
2019 年起如何开始学习 ABP 框架系列文章-开篇有益 [[TOC]] 本系列文章推荐阅读地址为:52ABP 开发文档 https://www.52abp.com/Wiki/52abp/lates ...
-
ABP框架系列之三十四:(Multi-Tenancy-多租户)
What Is Multi Tenancy? "Software Multitenancy refers to a software architecture in which a sing ...
-
ABP框架系列之十一:(AspNet-Core-ASPNET核心)
Introduction This document describes ASP.NET Core integration for ASP.NET Boilerplate framework. ASP ...
-
ABP框架系列之五十四:(XSRF-CSRF-Protection-跨站请求伪造保护)
Introduction "Cross-Site Request Forgery (CSRF) is a type of attack that occurs when a maliciou ...
-
ABP框架系列之八:(Introduction-介绍)
Introduction We are creating different applications based on different needs. But implementing commo ...
-
ABP框架系列之三十三:(Module-System-模块系统)
Introduction ASP.NET Boilerplate provides an infrastructure to build modules and compose them to cre ...
-
ABP框架系列之四十九:(Startup-Configuration-启动配置)
ASP.NET Boilerplate provides an infrastructure and a model to configure it and modules on startup. A ...
-
ABP框架系列之二十:(Dependency-Injection-依赖注入)
What is Dependency Injection If you already know Dependency Injection concept, Constructor and Prope ...
-
ABP框架系列之四:(Repositories-仓库)
"Mediates between the domain and data mapping layers using a collection-like interface for acce ...
随机推荐
-
rsync数据同步备份
一.rsync简介 (1)rsync是什么? rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具. (2)rsync作用比较 远程拷贝:有点类似ssh的scp ...
-
Linux C 文件操作,系统调用 -- open()、read() 和 标准I/O库 -- fopen()、fread()
函数汇总: open().write().read().close() fopen().fwrite().fread().fclose() 一.什么是文件 在讲述文件操作之前,我们首先要知道什么是文件 ...
-
vim ---- 一键自动indent的命令
当用vim拷贝某一段代码到另一个程序的时候,往往indent会有一些问题.. 下面这个强大的命令能够让你一键让代码有很好的格式. gg=G 例子:
-
Tomcat6.0数据源配置
涉及context.xml和server.xml http://blog.csdn.net/onlymilan/article/details/5493485
-
谈谈android反编译和防止反编译的方法(转)
谈谈android反编译和防止反编译的方法(转) android基于java的,而java反编译工具很强悍,所以对正常apk应用程序基本上可以做到100%反编译还原. 因此开发人员如果不准备开源自己的 ...
-
逻辑回归模型(Logistic Regression, LR)基础
逻辑回归模型(Logistic Regression, LR)基础 逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函 ...
-
JavaScript 创建一个 form 表单并提交
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
-
Cookie笔记
1.Cookie HTTP Cookie(也叫Web Cookie或浏览器Cookie)是服务器发送到用户浏览器并保存在浏览器的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器 ...
-
nginx进行反向代理,80端口使用
环境说明:centos7 安装版本:tengine2.2.2 实现目的: 想用本地80端口,代理其它服务器的非80端口,实现80端口复用 [root@tiaobanji conf]# cat ngin ...
-
【Connection Events】【BLE】【原创】
Connection Events 本人在TI官网的学习笔记,现整理如下 两台BLE设备建立连接后,所有的通信事件都是通过Connection Events中发生的 上图为两 ...