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

  • 相关阅读:
    Cookie、Session和自定义分页
    logstash 运行
    php json数据保留原样中文
    linux 32位还是64位
    php之isset 与 empty 区别
    php 订单
    个人分类
    laravel 创建自己的函数
    lumen框架导入数据异常
    yum安装samba服务器的安装
  • 原文地址:https://www.cnblogs.com/chrlee/p/11587413.html
Copyright © 2011-2022 走看看