首页 > 其他分享 >使用ONE.Abp快速开发微服务,再也不用加班了

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

时间:2023-05-19 18:24:14浏览次数:49  
标签:--- Acme 加班 Abp +--- BookStore HttpApi new 再也

项目背景

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

Options:

-t|--template <template-name>               (default: base)
-d|--database-provider <database-provider>  (if supported by the template)
-o|--output-folder <output-folder>          (default: current folder)
-v|--version <version>                      (default: latest version)
-cs|--connection-string <connection-string> (your database connection string)
--dbms <database-management-system>         (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

 

转 https://www.cnblogs.com/sosoeasy/p/17411905.html

标签:---,Acme,加班,Abp,+---,BookStore,HttpApi,new,再也
From: https://www.cnblogs.com/wl-blog/p/17415983.html

相关文章

  • 使用ONE.Abp快速开发微服务,再也不用加班了
    项目背景公司采用项目制工作方式,因此在不同项目上可能存在多个团队开发独立的代码库,但通用的基础设施却是相同的,这可能导致每个项目都需要编写相同的代码,并重复造轮子。更严重的是,每个项目都有自己的用户体系,导致用户在使用不同的服务时需要重新登录,这不仅会破坏用户的体验,也不利......
  • ABP - 模块加载机制
    Abp是一个基于模块化开发的应用程序框架,提供了模块化基础的架构和模块化加载的引擎。理解模块一个模块是对一个功能点的封装,可以独立成为一个包,实现了松耦合的代码组织方式。Abp框架的基本思想就是模块开发,模块就想乐高中的一块块积木,在项目中将不同功能点的模块引用进来,就像......
  • ABP 系列总结
    2019年第一次接触ABP框架,那时候还是比较笨重的旧版本的,后来升级到vNext版本,我也基于ABP模块化的设计方式开发了一些模块用于日常工作。这个系列主要为了系统地记录一下日常工作与学习中的关于ABP的一些知识点。章节目录初始ABPABP-模块加载机制ABP-依赖注入(......
  • OData WebAPI实践-与ABP vNext集成
    本文属于OData系列文章ABP是一个流行的ASP.NET开发框架,旧版的的ABP已经能够非常好的支持了OData,并提供了对应的OData包。ABPvNext是一个重新设计的,面向微服务的框架,提供了一些非常有用的特性,包括分页查询等但是它并不能原生支持OData,我们需要自行实现。本文......
  • abp automapper setting
    @@abpautomappersettinghttps://docs.abp.io/zh-Hans/abp/latest/Object-To-Object-Mapping对象到对象映射将对象映射到另一个对象是常用并且繁琐重复的工作,大部分情况下两个类都具有相同或相似的属性.例如下面的 应用服务方法:publicclassUserAppService:Applicati......
  • ABP Suite模块项目中设置菜单及其多语言
    1、Blazor的菜单构造的类ABPSuite自动生成的是这样:2、从Study.Trade.Web的Menus下拷贝内容过来后3、TradeMenus中增加一个常量4、启动程序单击Trade后,能看到子菜单单击“CustomerOrders”,页面正确导航了:5、翻译菜单项语言的资源文件,都在Domain.Shared项目的Localization的子文件......
  • 一对多数据的多选筛选([EF,ABP]但是sql思路通用)
    一对多数据的多选筛选([EF,ABP]但是sql思路通用)标题起的并不是特别准确,但是现在又没有更加准确的描述,暂时这样了业务需求:数据格式为一条数据,对应多条二级数据,暂时表示为主信息为“书”,二级为他的各种描述信息:1.社会科学-学术类-自定义文字,2.科技信息-学术类-自定义文字,然后搜索......
  • Labview工业以太网Ethernetip TCP通讯培训支持所有Ethernetip协议的设备和模块常用罗
    Labview工业以太网EthernetipTCP通讯培训支持所有Ethernetip协议的设备和模块常用罗克韦尔ABPLC,欧姆龙NXNJPLC数据标签通讯让你从原理上学会从此定值自己的通讯协议ID:46399669472727510......
  • ABP - 初识 ABP
    ABP框架ABP是用于创建现代化Web应用程序的完整体系结构和强大的基础架构,以模块化的方式进行开发,所有模块以nuget包的方式提供,开箱即用,遵循最佳实践和约定,提供SOLID开发经验。缩写英文中文SRPTheSingleResponsibilityPrinciple单一职责元素OCPTheOpenClosed......
  • ABP开发需要用到的命令
    #0、命令行在哪里执行?在VisualStudio的“解决方案资源管理器”的解决方案或者项目上点鼠标右键,选择“在终端中打开”。#1、安装abp官网文档地址:https://docs.abp.io/en/abp/latest/CLIABPCLI是一个dotnetglobaltool.使用命令行窗口安装:~~~dotnettoolinstall-g......