【ABP】从零开始学习ABP_入门介绍
本文介绍自己入坑ABP的过程,一些ABP的相关文章、QQ群,以及ABP Zero示例项目的运行。
背景
作为一个半路出家学习编程的新人,之前工作中也断断续续写过一些代码,但底层核心一直没机会学习,所以能力一直处于初中级的水平,只能写写一些二次开发代码。
借着最近两年做的几个MES项目,准备自己尝试写一套MES出来。
从今年1月到现在,一有休息就到github上找框架、去群里吹水,然后就碰到了ABP,发现还不错就学了起来。
学了一段时间之后,发现这套基于.NetCore的DDD框架,确实比较复杂,也走了一些弯路(实际上也是B/S基础不行导致的),所以把自己的学习过程做一个记录,希望也能为其他新人做一些参考。
ABP简介
ABP是一套开源的基于ASP NET CORE,实现了大部分DDD思想的框架。
ABP官网:https://aspnetboilerplate.com/
ABP源码:https://github.com/aspnetboilerplate/aspnetboilerplate
虽然网上也有很多关于此框架的文章,奈何NET CORE更新太快,对于新人来说可能不太友好。
ABP相关文章
如果有好的文章,愿意分享的话,请通过各种途径告知,我会添加到下方。
基于DDD的现代ASP.NET开发框架--ABP系列文章总目录
上述这个系列文章基本上把ABP的基础功能都讲述了一遍,很有价值。
ABP适配Oracle全过程
ABP相关QQ群
非利益相关,如果有好的交流学习群,请告知,我会添加进来。
ABP架构设计交流群4(726578484)
52ABP .NET CORE 实战交流(633751348)
.NET/MSA/DDD/REST/ABP/前端开(137696483)
ABP Zero下载
ABP Zero是一个实现了大部分基础功能的ABP示例项目,可以直接运行,并且可作为框架直接进行二次开发。
首先在官网选择示例项目(我用的是MVC模板,也可以选择其他前端框架。因为基础薄弱,我就先从简单的开始学了)
然后输入项目名称、验证码,点击创建项目即开始下载。
下载完成后,是一个压缩包,我下载的项目是“oMES_APServer”。
ABP Zero启动
下载完,解压后,源码包含以下目录:
各层简单介绍如下:
Application:应用层,在此处建立Dto,用于数据层和界面层之间的数据传递,并处理业务逻辑。
Core:数据层,建立实体类。
EntityFrameworkCore:数据层,实现实体与数据库交互。使用EFCore框架。
Migrator:还没研究过。
Web.Core:标准DDD框架中是没有这一层的,这一层实际上就是把Web.Host和Web.Mvc两个项目中公共部分剥离出来单独做了一个类库。
Web.Host:API接口层,可以在Web上显示所有API接口列表,并实现测试。
Web.Mvc:界面层,前端显示。
用Visual Studio 2017或以上版本打开解决方案(低版本不支持net core)
test项目暂时先不管。
不要急着运行项目,需要等待项目还原Nuget包。并且同步数据库。
同步数据库:
更改数据库连接字符串(更改为本地数据库,默认使用SQL SERVER,其他数据库参考EFCORE官方文档:https://docs.microsoft.com/zh-cn/ef/core/providers/index)
先打开程序包管理器控制台,并选择项目“EntityFrameworkCore”,直接输入 update-database 进行数据库同步。
执行成功时,最后会显示 Done。如果有报错,则根据具体报错内容进行排查。
此时,就可以直接运行程序了。
成功运行Web.Host显示如下:
成功运行Web.Mvc显示如下:默认登陆账密为 admin / 123qwe
登录成功如下:
到此,ABP Zero示例已经完成,接下里就可以直接进行功能开发了。
下一篇将介绍如何在ABP Zero中添加一个实体类,并对应数据库一张表,实现基本的增删查改功能。
【ABP】从零开始学习ABP_入门介绍的更多相关文章
- 从零开始学习jQuery (一) 入门篇
本系列文章导航 从零开始学习jQuery (一) 入门篇 一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些 ...
- 从零开始学习jQuery (一) 开天辟地入门篇
一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章是入门第一篇, 主要是简单介绍jQuer ...
- 博主从零开始学习HTML(入门基础)
目录 从零开始学习HTML(入门基础) 互联网三大基石 HTML的Head标签中的常用元素 字体格式化标签 字符实体,以下写最常用的几个 html常用标签及解析 a标签 img标签 媒体标签audio ...
- C# BackgroundWorker组件学习入门介绍
C# BackgroundWorker组件学习入门介绍 一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用BackgroundWorker来完成这一功能 ...
- 从零开始学习 asp.net core 2.1 web api 后端api基础框架(一)-环境介绍
原文:从零开始学习 asp.net core 2.1 web api 后端api基础框架(一)-环境介绍 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...
- 从零开始学习JAVA(入门基础)
目录 博主从零开始学习JAVA(入门基础) 1.搭建JAVA开发环境 卸载JDK(未安装的请忽略) 安装JDK 2.编程语言中,何为编译型与解释型 编译型 解释型 3.第一个JAVA应用程序 4.JA ...
- 学习Mysql过程中拓展的其他技术栈:Docker入门介绍
一.Docker的介绍和安装 1. Docker是什么 百度百科的介绍: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linu ...
- SpringBootSecurity学习(01)网页版登录入门介绍
Web应用安全管理 Web应用的安全管理,主要包括两个方面的内容,一个是用户身份的认证,即用户登录的设计,二是用户授权,即一个用户在一个应用系统中能够执行哪些操作的权限管理.权限管理的设计一般使用角色 ...
- AutoMapper之ABP项目中的使用介绍
最近在研究ABP项目,昨天写了Castle Windsor常用介绍以及其在ABP项目的应用介绍 欢迎各位拍砖,有关ABP的介绍请看阳光铭睿 博客 AutoMapper只要用来数据转换,在园里已经有很多 ...
随机推荐
- 谈谈spring mvc与struts的区别
1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上Spr ...
- Go语言的流程控制(条件,选择,控制,跳转,闭包)
1.条件语句: 跟C和python又不同了Go的if -else是这样的 if a<5{ return 0 } else { reutrn 1 } 1.条件不需要用括号括起来 2.左边的花括号必 ...
- Go语言的map
map一般是以库的方式提供,在C++和C#和JAVA中都需要引用相应的库而Go语言不需要引入库,可以直接方便使用 定义:map是一堆键值对的未排序集合.无序 1.声明变量: map的声明基本上没有多余 ...
- Python 爬取 北京市政府首都之窗信件列表-[数据处理]
日期:2020.01.24 博客期:132 星期五 [代码说明,如果要使用此页代码,必须在本博客页面评论区给予说明] //博客总体说明 1.准备工作 2.爬取工作 3.数据处理(本期博客) 4.信息展 ...
- 页面自动执行js的3种方法
1.最简单的调用方式,直接写到html的body标签里面: <html> <body onload="load();"> </body> & ...
- 学习:Android框架
引言 通过前面两篇: Android 开发之旅:环境搭建及HelloWorld Android 开发之旅:HelloWorld项目的目录结构 我 们对android有了个大致的了解,知道如何搭建a ...
- Redis调用
Redis帮助类 using StackExchange.Redis; using System; using System.Collections.Generic; using System.Lin ...
- 《精通iOS开发》书籍目录
1.欢迎来到iOS和Swift世界 2.创建一个新项目 3.实现基本交互 4.更丰富的用户界面 5.自动旋转和自动调整大小 6.多视图应用 7.分页栏与选取器 8.表视图简介 9.导航控制器和表视图 ...
- 对于在MYSQL_WorkBench中创建新表时对PK NN UQ B UN ZF AI的理解
1.PK(primary key 主键) 当某项属性勾选了该功能时,该属性会作为与其他对象区别的凭证.例如我们的学号 每个人在本校都是唯一的,但姓名是可能相同的.所以学号就具有主键功能 2.NN(no ...
- SLT学习——leafes tree扩展 【文艺平衡树】
这是一个全新的数据结构 md,别看这篇文章了,这篇已经废了. 百折不饶,再交一次,更新复杂度证明 这里是HYF,蒟蒻一只,最近因某些原因开始学数据结构了,然后就写了这篇题解. 下面给大家介绍一个全新的 ...