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

这篇具有很好参考价值的文章主要介绍了使用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 <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版本创建项目目录结构如下:文章来源地址https://www.toymoban.com/news/detail-449193.html

+---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

 

到了这里,关于使用ONE.Abp快速开发微服务,再也不用加班了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot 代码混淆真香,再也不用担心反编译代码泄露...

    简单就是把代码跑一哈,然后我们的代码 .java文件 就被编译成了 .class 文件 就是针对编译生成的 jar/war 包 里面的 .class 文件 逆向还原回来,可以看到你的代码写的啥。 比较常用的反编译工具 JD-GUI ,直接把编译好的jar丢进去,大部分都能反编译看到源码: 那如果不想给别人反

    2024年02月06日
    浏览(75)
  • 记录--再也不用手动改package.json的版本号

    本文的起因是有在代码仓库发包后,同事问我“为什么package.json 里的版本还是原来的,有没有更新?”,这个时候我意识到,我们完全没有必要在每次发布的时候还特意去关注这个仓库的版本号,只要在发布打tag的时候同步一下即可,于是有了本文的实践。 我们首先需要在

    2024年02月16日
    浏览(39)
  • Buck电路输入电容计算方法详解,再也不用死记硬背!

         在进行DCDC设计的时候,我们根据芯片手册看到的输入电容选择如下图所示,那么到底都是怎么来的呢?                                 Buck 电路中 输入电容纹波电流的有效值计算公式 推导过程如下:     根据上图可以得到如下公式:    根据BUCK电路占空比公式:

    2024年01月21日
    浏览(52)
  • Python自动获取海量ip,再也不用愁被封啦~

    前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 本次网站: 本文所有模块环境源码教程皆可点击文章下方名片获取此处跳转 开发环境: python 3.8 运行代码 pycharm 2022.3 辅助敲代码 模块使用: import parsel pip install parsel import requests pip install requests 如何安装python第三方模块: win + R 输入

    2023年04月19日
    浏览(78)
  • 自打有了GIPKs,DBA和开发再也不用battle了

    GIPKs特性简介 GIPKs特性的作用 玩转GIPKs GIPKs解决了历史难题 从MySQL 8.0.30开始,新引入一个叫做GPIKs的特性,其全称是 Generated Invisible Primary Keys ,简言之就是 自动生成隐含的主键列 ,更完整的说法是:启用 GIPKs 后,当新建的InnoDB表没有显式主键时,会自动创建一个不可见的主

    2024年02月16日
    浏览(89)
  • 初识Linux(中).妈妈再也不用担心我Linux找不到门了。

    “我会定期分享我的学习和工作经验,也欢迎大家留言和交流,让我们共同学习和进步!感谢大家的支持!” 系列文章 初识Linux(上).妈妈再也不用担心我Linux找不到门了。 初识Linux(中).妈妈再也不用担心我Linux找不到门了。 初识Linux(下).妈妈再也不用担心我Linux找不到门了。

    2024年02月05日
    浏览(88)
  • 再也不用担心变量类型错误!学会JS中如何轻松检查变量类型

    今天要分享的问题就是: 如何在JS中检查一个变量的类型? 先上结论: 如果判断的是基本数据类型或JavaScript内置对象,使用toString;如果要判断的是自定义类型,请使用instanceof。 在 ECMAScript 规范中,共定义了 7 种数据类型,分为 基本类型 和 引用类型 两大类。 基本类型

    2024年02月08日
    浏览(56)
  • 漏洞扫描工具大全,妈妈再也不用担心我挖不到漏洞了

    Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。 AWVS常见功能: 网站爬行

    2024年02月09日
    浏览(48)
  • 高效办公之远程电脑控制:再也不用带着厚重笔记本

    您是否遇到过以下问题: 出门在外没有带公司电脑,想查看或处理文件而不可得;每次出差都要带着厚重的笔记本电脑;甚至深夜都已经回家了,紧急工作来了,工作电脑却不在身边,而打车回到公司处理。 如果答案是yes,那么一个远程控制软件您值得拥有~ 这边推荐两款简

    2024年02月11日
    浏览(54)
  • 初识Linux(下).妈妈再也不用担心我Linux找不到门了

    “我会定期分享我的学习和工作经验,也欢迎大家留言和交流,让我们共同学习和进步!感谢大家的支持!” 系列文章 初识Linux(上).妈妈再也不用担心我Linux找不到门了。 初识Linux(中).妈妈再也不用担心我Linux找不到门了。 初识Linux(下).妈妈再也不用担心我Linux找不到门了。

    2024年02月05日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包