当前位置:首页 > 聚焦 >

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

来源:博客园 发表日期:2023-05-18 15:37:46
项目背景

公司采用项目制工作方式,因此在不同项目上可能存在多个团队开发独立的代码库,但通用的基础设施却是相同的,这可能导致每个项目都需要编写相同的代码,并重复造轮子。更严重的是,每个项目都有自己的用户体系,导致用户在使用不同的服务时需要重新登录,这不仅会破坏用户的体验,也不利于项目的维护和数据的积累。同时前端也会基于不同项目开发不同的网站,为了解决这些问题, 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  (your database connection string)--dbms          (your database management system)Examples:oneabp new Acme.BookStore -t base -d ef -dbms postgresqloneabp new Acme.BookStore -t micro -d ef -dbms postgresqloneabp 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 install2.运行服务 命令: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
x
推荐阅读 更多