zoukankan      html  css  js  c++  java
  • 【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中添加一个实体类,并对应数据库一张表,实现基本的增删查改功能。

  • 相关阅读:
    Educational Codeforces Round 86 (Rated for Div. 2) D. Multiple Testcases
    Educational Codeforces Round 86 (Rated for Div. 2) C. Yet Another Counting Problem
    HDU
    HDU
    HDU
    HDU
    Good Bye 2019 C. Make Good (异或的使用)
    Educational Codeforces Round 78 (Rated for Div. 2) C. Berry Jam
    codeforces 909C. Python Indentation
    codeforces1054 C. Candies Distribution
  • 原文地址:https://www.cnblogs.com/chrlee/p/11587413.html
Copyright © 2011-2022 走看看