ABP项目启动及源代码结构

  在整体介绍ABP项目之前我们需要从官方网站下载模板项目,下载以后放到一个本地目录下,启动VS打开源代码。具体下载的步骤如下:

一   创建ABP项目模板

  1 进入官方网站然后选择特定的样板项目。

  2 选择特定的平台以及特定的架构从而生成特定的模板。  

  3 开始创建模板

二 创建数据库并启动运行项目

  在拿到整个项目的源代码之后,我们仍然对整个项目缺少一个大概的了解,下面以我们创建的多页面的框架为例,在拿到一个陌生的开源项目之前我们总希望能够看到界面到底长成什么样?从而在大体上对这个项目有一个直观的认识,但是要做到这一步你需要进行下面的几个步骤。

  1 打开解决方案,还原Nuget包。

  具体步骤:在VS2017中打开创建项目--》右键解决方案--》还原Nuget包。

  2 修改本地数据库的连接字符串。

  可能对Asp.Net Core项目不熟悉的可能还不知道在哪里修改默认的配置,因为你会发现在整个项目中整个配置的方式和 Asp.Net MVC有一些不同,这里找到你将要启动的项目(示例中的启动项目为MyMultiPageWeb.Web.Host),然后双击打开appsettings.json,然后我们选择在这里配置数据库连接字符串。

  这里需要特别注意的是Database是即将在SQL Server数据库中生成的数据库名称。

  3 在Nuget管理控制台中执行Add-Migration命令。

  A  打开程序包管理控制台  

  B 选择默认的项目为XXX.EntityFrameworkCore

  C 执行 Add-Migration 命令

  在这个过程中,如果执行成功会在XXX.EntityFrameworkCore项目下面的Migrations文件夹下面生成对应的迁移记录。

  4 执行Update-Database更新到数据库。

  最后一步也是最重要的一步就是在控制台中输入Update-Database命令(注:后面可以不需要接任意参数),待更新完成之后便会生成数据库中的对应的表结构和种子数据,这样就算是完成整个数据库的生成工作了。

  在这些表中还有一张数据库迁移的历史记录表(dbo_EFMigrationsHistory),其中记录了整个数据库历史迁移的数据。

  三  项目启动界面截图

  1 启动MyMultiPageWeb.Web.Host项目。

  当前项目主要集成了时下非常流行的Swagger UI,主要用来生成Web API的文档,能够全方位的进行Web API的开发。

  2 启动MyMultiPageWeb.Web.MVC项目

  这个项目是一个完整的官方提供的ABP Web项目,下面通过几张截图来了解一下,项目启动时默认的用户名:admin 、密码为123qwe。

 四  项目的源代码结构

  整个项目的源代码结构如上面所示,上面是项目的源码,下面是项目的测试部分,整个项目的源代码是遵循DDD(领域驱动设计)的开发思想来进行组织的,下面就这些项目来进行说明:

  MyMultiPageWeb.Application:应用层,主要包括定义和前台进行交互的接口层,调用领域层中对应的接口,默认包括:验证、配置、多租户、角色、用户、Session的一些操作,是整个Web API对外部提供调用的核心接口。

  MyMultiPageWeb.Core:领域层,对现实业务进行抽象,通过调用ORM层的提供的接口来对当前的User、Role、Tenant等一系列的管理操作,并对外提供统一的Manager接口,从而供应用层进行相关的操作,另外还提供了诸如验证、配置、Feature、本地化等等一些列基础接口。

  MyMultiPageWeb.EntityFrameworkCore:ORM层,该层顾名思义是使用EntityFrameworkCore来和SQL Server数据库进行交互的核心逻辑,包括一些常规的各种CRUD操作,以及通过Model First模式创建数据库,为数据库提供种子数据等一系列操作。

  MyMultiPageWeb.Migrator:提供基于控制台的数据库迁移工具

  MyMultiPageWeb.Web.Core:这个部分主要是通过调用

MyMultiPageWeb.Web.Host:Swagger UI 集成Web API文档工具

  MyMultiPageWeb.Web.Mvc:标准的Asp.Net Core MVC 项目,完整的前后端实现,这一部分将在后续进行一系列的分析和解读。

原文地址:https://www.cnblogs.com/seekdream/p/9249568.html

时间: 2024-08-08 10:47:01

ABP项目启动及源代码结构的相关文章

Abp项目构建、swagger及代码生成器

推荐博客 1. Abp项目实践推荐参照大神角落的白板报的系列博客,比较新,并且是亲身体验. http://www.cnblogs.com/wer-ltm/p/6824716.html 2. Abp源码整体原理结构.类关系图等参看大神Hk Zhang http://www.cnblogs.com/1zhk/p/5268054.html 一.利用abp模板构建项目 1.打开官网https://aspnetboilerplate.com/Templates (2)     生成项目后会自动下载代码 二

Android 源代码结构(转)

简介 在使用Andriod SDK进行应用程序开发的时候,我们需要对源代码进行调试,有可能需要进入到某个Android API函数内部进行跟踪调试.但是,如果目标版本的SDK没有关联对应版本的源代码的话,就会提示你找不到源代码. 图:找不到Android源码的提示 我们都知道Android系统是一个开源工程,在网上可以下载到源代码.一般在网上搜索一下,就会找到各种下载源代码的方法,比如使用Git和Repo,android源代码下载的网址是http://android.git.kernel.org

无线点餐项目启动

无线点餐项目启动 最近在与高校合作培训的时候,做了一个小项目,无线点餐系统.该系统主要用于学习用途,综合了JavaWeb开发的底层技术,采用JSP+Servlet+MySQL数据库实现开发,虽然这种开发模式在现在的开发中已经很少使用了,但对于初学者来说,学习JavaWeb底层技术还是有一定的帮助的.项目采用MVC思想进行项目的开发,适合入门级JavaWeb的各位朋友们,大神请略过.今天写的第一篇博文主要是关于项目的启动,介绍项目的背景.项目中所用到的技术.软件等等.话不多说,我们先看博文. 无线

在基于AngularJs架构的ABP项目中使用UEditor

[前提须知] 读过此篇博客 了解angular-ueditor 了解ABP如何使用 会使用VS2017 [1.下载ABP模板] https://aspnetboilerplate.com/Templates 选择ASP.NET MVC 5.x页签下基于AngularJs前端框架和基于Entity Framework对像映射关系的模板,如下图所示: [2.下载UEditor插件] http://ueditor.baidu.com/website/download.html#ueditor 这里我使

Chrome源代码结构

首先,开始接触Chrome的童鞋可能有一个疑惑,Chrome和Chromium是同一个东西吗?答案是,Chrome是Google官方的浏览器项目名称,Chromium是Google官方对Chrome开源项目.说白了就是Chrome是Google自己的官方浏览器版本,而Chromium是开源项目,所有有兴趣的开发者都可以参加,Chromium中出现的新技术如果经过测试是可靠的,健壮的,那么将可能会出现在未来发布的Chrome官方版本中.因此,Chrome版本更新速度要远远小于Chromium的更新

sourcesafe.light 开源项目启动

sourcesafe.light 源于一个2D独立砖块沙盒游戏. 在这个游戏的设计中碰到了一个瓶颈:这个游戏想把玩家变成一个个neo,在矩阵世界中没有什么不可以修改. 这个游戏要跨平台,玩家的修改操作需要随时同步,甚至玩家还会合作修改. 玩家可以完全重新创造自己的世界,提供独特的砖块,独特的怪物.进行反复编辑优化自己的世界. 然后他们可以将自己的世界在任何一个时间点发布出去给别人玩,然后可以继续编辑自己的世界. 这个游戏是刻意把创造型玩家和参与型玩家的行为分开,想要提供给创造型玩家更自由的沙盒世

HDFS源代码结构

了解了HDFS体系结构中的名字节点.数据节点和客户端以后,我们来分析HDFS实现的源代码结构.HDFS源代码都在org.apache.hadoop.hdfs包下,其结构如图6-3所示. HDFS的源代码分布在I6个目录下,它们可以分为如下四类. 1.基础包 包括工具和安全包.其中,hdfs.util包含了一些HDFS实现需要的辅助数据结构:hdfs.security.token.hlock和hdfs.security.token.delegation结合Hadaop的安全框架,提供了安全访问HD

Android 5.0 源代码结构

本节书摘来自异步社区<深入理解Android 5 源代码>一书中的第2章,第2.2节分析Android源代码结构,作者 李骏. 网址:https://yq.aliyun.com/articles/93279?spm=5176.100239.blogcont93310.17.gtBsUg 2.2 分析Android源代码结构 获得Android 5.0源代码后,源代码的全部工程分为以下3个部分. Core Project:核心工程部分,这是建立Android系统的基础,被保存在根目录的各个文件夹

命令行创建项目文档目录结构

命令行创建项目文档目录结构 [email protected] 2016年1月21日11:10:59 文档化有助于减轻记忆压力,有利于在互联网时代顺畅分享建议用Cmd MarkDown打开,DOS脚本有语法高亮. 缘起 之前整理所有项目文档的时候,发现项目结构与内容不协调: 纯文档项目,采用的商业项目管理目录,很多目录都是空的: 纯代码项目,采用商业项目管理目录,文档多是空的: 繁复的项目目录,会令人望而生畏,不利于文档化: 冗余的目录,很难快速找到所需文档资料 更好的方式,是用数据库管理文档并