使用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版本创建项目目录结构如下:
+---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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2022-05-19 LINQ to SQL使用教程
2022-05-19 Dapper的完整扩展(转)
2022-05-19 C# SqlBuilder類代碼示例
2022-05-19 后端 在 Dapper 中使用 SqlBuilder 達成動態條件
2022-05-19 dapper的nitOfWork之介绍
2022-05-19 .NetCore中使用Dapper