前言

在此以前关切ABP框架有说话了,平昔从未潜下心来其实研究一下。近年来想本人建站,现在有友好的职能开发项目,能够在投机的站点上支出,并一步步的圆满,所以找个对比好用的框架迫不及待,选来选去,决定用ABP框架。用群里的大大门的话来说,驾驭了ABP,基本就能够飞天了~

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

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

ASP.NET
Boilerplate是二个用一流实践和流行技术开发现代WEB应用程序的新源点,它意在成为3个通用的WEB应用程序基础框架和体系模板。

ASP.NET Boilerplate 基于DDD的经典分层架构思想,完毕了成都百货上千DDD的定义。

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

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  日志记录(自动记录程序10分)

l  模块化开发(各个模块有单独的EF DbContext,可独自钦命数据库)

l  Repository仓库储存情势(已落实了Entity
Framework、NHibernate、MangoDB、内部存款和储蓄器数据库)

l  Unit Of Work工作单元形式(为应用层和储存层的办法自动实现数据库事务)

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

l  DLL嵌入能源管理

l  通过Application 瑟维斯s自动创造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打开。

品类集体结构如下:

图片 1

一起有5个非常重要的工程,二个测试工程,一个工具类工程。紧要介绍下这一个基本点的工程项目(涉及到DDD,领域驱动设计的定义,不晓得请先百度):

MyWebSite.EntityFramework-基础设施层

MyWebSite.Core-领域层

MyWebSite.Application-应用层

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

接下去,我们需求用nuget来平复一下连锁引用,

图片 2

新本子有个没有有失水准态,还原今后,Abp.AutoMapper
没有能符合规律识别,那里删除,再重新引用packets包里的dll就行。

迁移MySQL

自笔者本地用的数据库是mysql,若是不要求迁移数据库的,请跳过这一段。

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

nuget引入MySql.Data.Entity,那里最新版本跟EF有争执,所以作者降了二个版本,用的是MySql.Data.Entity 6.9.10

EF迁移配置里扩充MySQL的生成器

图片 3

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

运行Update-Database,完结数据库的变化和初步化:

图片 4

起步项目

 好的,我们运转项目试试:

图片 5

图片 6

网站已经见惯不惊运营起来,我们前面将日趋研析框架牛逼的功用,并周到大家的网站的效率。明日只是作了贰个总结介绍,希望大家更加多关注ABP这几个开源项目,希望有越来越多的恋人能去阅读源代码,然后欢迎跟小编二头谈谈。

资源

GitHub项目源码

 

相关文章

网站地图xml地图