• 使用ONE.Abp快速开发微服务,再也不用加班了


    项目背景

    公司采用项目制工作方式,因此在不同项目上可能存在多个团队开发独立的代码库,但通用的基础设施却是相同的,这可能导致每个项目都需要编写相同的代码,并重复造轮子。更严重的是,每个项目都有自己的用户体系,导致用户在使用不同的服务时需要重新登录,这不仅会破坏用户的体验,也不利于项目的维护和数据的积累。同时前端也会基于不同项目开发不同的网站,为了解决这些问题, ONEAbp项目由此诞生。

     

    项目介绍

    ONE.Abp是一款基于 Abp Vnext 框架开发的全流程解决方案,旨在帮助开发者快速构建微服务应用。它提供了基础模块和构建工具,让开发者可以专注于业务逻辑的实现,而无需花费大量时间和精力在框架的选择、配置和集成上。

     

    快速开始

    首先,如果你没有安装ONEABP CLI,请先安装它:

    dotnet tool install -g ONE.Abp.Cli

    在一个空文件夹使用 abp new 命令创建新解决方案:

    base模板

    oneabp new Acme.BookStore -t base -d ef -dbms postgresql

    micro模板

    oneabp new Acme.BookStore -t micro -d ef -dbms postgresql

    ONEABP.CLI在ABP.CLI基础上增加了两个模板

    • base模板: 解决方案包含网关,认证服务和基础服务项目
    • micro模板:解决方案包含微服务项目

    oneabp new 命令使用

    复制代码
    Usage:
    
      oneabp new  [options]
    
    Options:
    
    -t|--template                (default: base)
    -d|--database-provider   (if supported by the template)
    -o|--output-folder           (default: current folder)
    -v|--version                       (default: latest version)
    -cs|--connection-string string> (your database connection string)
    --dbms          (your database management system)
    
    Examples:
    
    oneabp new Acme.BookStore -t base -d ef -dbms postgresql
    oneabp new Acme.BookStore -t micro -d ef -dbms postgresql
    oneabp new Acme.BookStore -t micro --connection-string "Server=myServerName\myInstanceName;Database=myDatabase;User Id=myUsername;Password=myPassword"
    复制代码

     

    利用base模板创建的项目生成的目录结构如下

    +---aspnet-core
    |   +---gateways 
    |   |   \---Acme.BookStore.Gateway            //网关
    |   +---src
    |   |   +---Acme.BookStore.Application
    |   |   +---Acme.BookStore.AuthServer         //认证服务
    |   |   +---Acme.BookStore.DbMigrator         //迁移项目
    |   |   +---Acme.BookStore.Domain
    |   |   +---Acme.BookStore.Domain.Shared
    |   |   +---Acme.BookStore.EntityFrameworkCore
    |   |   +---Acme.BookStore.HttpApi
    |   |   +---Acme.BookStore.HttpApi.Client
    |   |   \---Acme.BookStore.HttpApi.Host       //基础服务
    |   \---test
    |       +---Acme.BookStore.Application.Tests
    |       +---Acme.BookStore.Domain.Tests
    |       +---Acme.BookStore.EntityFrameworkCore.Tests
    |       +---Acme.BookStore.HttpApi.Client.ConsoleTestApp
    |       \---Acme.BookStore.TestBase
    \---vue
        +---public
        +---src
        |   +---api
        |   +---assets
        |   +---components
        |   +---directive
        |   +---layout
        |   +---libs
        |   +---plugins
        |   +---router
        |   +---store
        |   |   \---modules
        |   +---utils
        |   \---views
        |       +---error
        |       +---file             //文件管理
        |       +---login
        |       +---redirect
        |       +---sass            
        |       |   +---sale          //销售版本管理
        |       |   \---tenant        //租户管理
        |       \---system
        |           +---application   //应用管理
        |           +---dept          //部门管理
        |           +---dict          //字典管理
        |           +---menu          //菜单管理     
        |           +---permis
        |           |   \---components
        |           +---role          //角色管理
        |           +---setting       //设置管理   
        |           |   \---components 
        |           \---user          //用户管理
        |               \---profile
        \---vite

     

    使用

    后端

    • 1.更换连接字符串

       用Base模板创建后,进入后端项目修改连接字符串,base项目使用了两个数据库,一个是当前基础服务的数据库,另外一个是共享库,用于存储权限,设置,字典和数据权限等数据。

    • 2.迁移项目 运行xxxx.DbMigrator
    • 3.运行网关,认证服务,基础服务。

     

    前端

    • 1.安装依赖 命令:yarn install
    • 2.运行服务 命令:yarn dev

     

    Base模板创建项目已经包含了基础的服务模块,如租户管理,用户管理,角色管理,字典管理等...现在你可以专注于开发你的业务微服务了。

    利用micro版本创建项目目录结构如下:

    +---aspnet-core
    |   +---src
    |   |   +---Acme.BookStore.Application
    |   |   +---Acme.BookStore.DbMigrator         //迁移项目
    |   |   +---Acme.BookStore.Domain
    |   |   +---Acme.BookStore.Domain.Shared
    |   |   +---Acme.BookStore.EntityFrameworkCore
    |   |   +---Acme.BookStore.HttpApi
    |   |   +---Acme.BookStore.HttpApi.Client
    |   |   \---Acme.BookStore.HttpApi.Host       //基础服务
    |   \---test
    |       +---Acme.BookStore.Application.Tests
    |       +---Acme.BookStore.Domain.Tests
    |       +---Acme.BookStore.EntityFrameworkCore.Tests
    |       +---Acme.BookStore.HttpApi.Client.ConsoleTestApp
    |       \---Acme.BookStore.TestBase

     

    最后

    更多内容请查看在线文档

    项目地址:sososu/ONEAbp (github.com)

    ABPVNEXT框架 QQ交流群:655362692

     
  • 相关阅读:
    Docker搭建Vulhub漏洞环境
    快速上手Linux核心命令(八):网络相关命令
    曲折的tensorflow安装过程(Tensorflow 安装问题的解决)
    Oracle中ALTER TABLE的五种用法(一)
    Positive Technologies 利用 PT Cloud Application Firewall 保护中小型企业的网络资源
    2022年互联网企业软件测试面试宝典
    智能汽车的基础软件「竞速赛」
    Airtest1.2.7新增断言API介绍
    Linux(Centos)防火墙允许通过端口增加操作记录
    word行距怎么设置?专业排版,让文档更具吸引力!
  • 原文地址:https://www.cnblogs.com/sosoeasy/p/17411905.html