前言

前边关切ABP框架有说话了,一向没有潜下心来其实探讨一下。近来想自己建站,将来有友好的法力开发品种,可以在团结的站点上支付,并一步步的完善,所以找个比较好用的框架等不及,选来选去,决定用ABP框架。用群里的大大门的话来说,领会了ABP,基本就足以飞天了~

先简单介绍下呢(以下部分资料来源于群里资料,如有侵权,请报告):

ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。

ASP.NET
Boilerplate是一个用顶级实践和流行技术开发现代WEB应用程序的新源点,它目的在于成为一个通用的WEB应用程序基础框架和类型模板。

ASP.NET Boilerplate 基于DDD的经文分层架构思想,完成了诸多DDD的概念。

ABP的官方网站:http://www.aspnetboilerplate.com

jQuery,ABP在Github上的开源项目:https://github.com/aspnetboilerplate

APB选择了以下技术:

服务器端:

l  ASP.NET MVC 5、Web API 2、C# 5.0

l  DDD领域驱动设计 (Entities、Repositories、Domain Services、Domain
伊夫nts、Application Services、DTOs等)

l  Castle windsor (爱护注入容器)

l  Entity Framework 6 \ NHibernate,数据迁移

l  Log4Net(日志记录)

l  AutoMapper(达成Dto类与实体类的双向自动转换)

客户端:

l  Bootstrap

l  Less

l  AngularJs

l  jQuery

l  Modernizr

其他JS库: jQuery.validate、jQuery.form、jQuery.blockUI、json2

如上只是其中的显要部分,其实任何类型框架的众多可观设计,ABP框架也有关系,所以我利用这几个框架,方便往后的职能集成和扩展。

ABP框架已落到实处了以下特征

l  多语言/本地化匡助


多租户协理(每个租户的数目自动隔离,业务模块开发者不须求在保存和查询数时写相应代码)

l  软删除扶助(继承相应的基类或促成相应接口,会自行已毕软删除)

l  统一的要命处理(应用层大约不需求处理自己写相当处理代码)

l  数据有效性验证(Asp.NET
MVC只好做到Action方法的参数验证,ABP完毕了Application层方法的参数有效性验证)

l  日志记录(自动记录程序卓殊)

l  模块化开发(每个模块有独立的EF DbContext,可独自指定数据库)

l  Repository仓储形式(已已毕了Entity
Framework、NHibernate、MangoDB、内存数据库)

l  Unit Of Work工作单元格局(为应用层和仓储层的点子自动落成数据库事务)

l  伊夫ntBus已毕世界事件(Domain 伊夫nts)

l  DLL嵌入资源管理

l  通过Application Services自动创制Web
Api层(不需求写ApiController层了)

l  自动创立Javascript 的代理层来更方便使用Web Api

l  封装一些Javascript
函数,更有益于地使用ajax、新闻框、布告组件、忙状态的遮罩层

l  “Zero”的模块,完毕了以下功效:

  身份验证与授权管理(通过ASP.NET Identity完毕的)

  l  用户&角色管理

  l  系统装置存取管理(系统级、租户级、用户级,成效范围自动管理)

  l  审计日志(自动记录每一遍接口的调用者和参数)

下载和还原nuget

俺们去官网,找到Free Startup Templates,点击Create Your Project。

此地大家选取大家的周转条件,我拔取的是ASP.NET MVC
5.x,默许选项单页开发方式和EF,给自己的系列取个名字,然后点击创设。

官网会活动打包你的项目,下载即可。

大家将项目文件解压,查看ABP最新的本子是3.1.2,因为用的是.net
4.6.1,所以自己用vs 2017打开。

品类集体结构如下:

jQuery 1

合计有5个主要的工程,1个测试工程,1个工具类工程。主要介绍下那多少个重大的工程项目(涉及到DDD,领域驱动设计的定义,不理解请先百度):

MyWebSite.EntityFramework-基础设施层

MyWebSite.Core-领域层

MyWebSite.Application-应用层

MyWebSite.WebApi,MyWebSite.Web-WEB和显现层

接下去,大家需要用nuget来回复一下相关引用,

jQuery 2

新本子有个小意思,还原未来,Abp.AutoMapper
没有能正常识别,那里删除,再重新引用packets包里的dll就行。

迁移MySQL

我本地用的数据库是mysql,假设不需求迁移数据库的,请跳过这一段。

假诺没有MySQL驱动,先安装驱动:MySQL Connector

nuget引入MySql.Data.Entity,那里最新版本跟EF有争论,所以我降了一个本子,用的是MySql.Data.Entity 6.9.10

EF迁移配置里伸张MySQL的生成器

jQuery 3

末段,工具–程序包管理器控制台选中MyWebSite.EntityFramework

运行Update-Database,完结数据库的转移和初阶化:

jQuery 4

启航项目

 好的,大家启动项目试试:

jQuery 5

jQuery 6

网站已经不乏先例运行起来,大家后边将逐年切磋分析框架牛逼的机能,并完善大家的网站的作用。后天只是作了一个不难易行介绍,希望大家更多关切ABP这么些开源项目,希望有更加多的情侣能去读书源代码,然后欢迎跟自己一块儿研商。

资源

GitHub项目源码

 

相关文章

网站地图xml地图