一款前后端分离设计的企业级快速开发平台,支持单体服务与微服务之间灵活切换(附源码)

前言

当前软件开发面临诸多挑战,诸如开发效率低下、重复工作多、维护成-本高等问题,这些问题在一定程度上阻碍了项目的进展。针对这些痛点,我们迫切需要一款既能提升开发效率又能降低维护成-本的处理方案。由此,一款基于前后端分离设计的企业级快速开发平台应运而生,它不仅支持单体服务与微服务之间的灵活切换,还能帮助开发者节省大量重复劳动,让他们能够更加专注于业务逻辑本身。

这是一款专为企业打造的快速开发平台,它采用了先进的技术栈,包括Spring Boot 2.x、Spring Cloud、Spring Security、MyBatis Plus、Vue等。该平台不仅提供了丰富的基础功能,如用户管理、角色管理、菜单管理等,还支持单体服务与微服务之间的灵活转换。此外,平台还集成了在线代码生成器、cao作日志记录、查询过滤器、数据权限控制等功能,旨在帮助企业大幅降低开发成-本。

图片

技术栈

用到的一些技术框架

图片

模块说明

  • jjche-boot-ui -- 前端

  • jjche-boot-server -- 单体启动入口

  • jjche-cloud-server -- 微服务启动入口

  • jjche-cloud-nacos -- 注册中心

  • jjche-cloud-gateway -- 网关服务

  • jjche-cloud-system -- 系统服务

  • jjche-cloud-bpm -- 工作流服务

  • jjche-cloud-demo -- 示例服务

  • jjche-cloud-file -- 文件服务

  • jjche-cloud-monitor -- 监控服务

  • jjche-cloud-sentinel -- Sentinel流控熔断

  • jjche-cloud-xxljob -- 分布式定时服务

  • jjche-boot-modules -- 业务模块

  • jjche-boot-module-system -- 系统模块

  • jjche-boot-module-bpm -- 工作流模块

  • jjche-boot-module-file -- 文件模块

  • jjche-boot-module-demo -- 示例模块

  • jjche-boot-framework -- 框架

  • jjche-boot-common -- 通用

  • jjche-boot-starters -- 基础组件

  • jjche-boot-cache-starter -- 缓存

  • jjche-boot-cat-starter -- CAT监控

  • jjche-boot-core-starter -- 核心

  • jjche-boot-filter-starter -- 安-全过滤器

  • jjche-boot-flowable-starter -- 工作流

  • jjche-boot-log-starter -- 日志

  • jjche-boot-minio-starter -- Minio存储

  • jjche-boot-mybatis-starter -- Mybatis定义

  • jjche-boot-sba-starter -- Spring-Boot-Admin增强

  • jjche-boot-security-starter -- 安-全

  • jjche-boot-sentinel-dashboard-starter -- Sentinel控制台

  • jjche-boot-serialize-starter -- 序列化

  • jjche-boot-shardingsphere-starter -- 分库分表

  • jjche-boot-starter -- 组件集成

  • jjche-boot-swagger-starter -- API文档

  • jjche-boot-system-api-starter -- 系统核心接口定义

  • jjche-boot-userdetail-starter -- 默认安-全认证定义

  • jjche-boot-xxl-job-starter -- Xxljob客户端

  • jjche-cloud-starters -- 微服务组件

  • jjche-cloud-gray-starter -- 灰度发布

  • jjche-cloud-starter -- 微服务组件集成

  • jjche-cloud-system-api-starter -- 系统核心接口定义

部署方式

准备工作

开发环境
  • JDK:1.8 11

  • MySQL:5.7+

  • Maven:3.6+

  • Redis:5.0+

  • NodeJS:16+

  • NPM:8.X

ali IDE
  • 后端:IntelliJ IDEA

  • 前端:WebStorm

IDE插件
  • Lombok Plugin(必装)

前端

cd jjche-boot-ui
# 安装 pnpm,提升依赖的安装速度
npm config set registry https://registry.npmjs.org
npm install -g pnpm@8.15.7
# 安装依赖
pnpm install
# 启动服务
npm run dev

后端

# 编译项目
mvn clean install package '-Dmaven.test.skip=true'

运行前设置环境变量

启动完成后,浏览器会自动打开 localhost:8013,可以看到前端界面。用户名:admin,密码:123456。

图片

开源协议

该项目遵循Apache License Version 2.0开源协议,适用于商业用途。

即刻体验一波

该软件的一些功能展示,结合图文展示,丰富内容。

1. 基础功能

用户、角色、菜单、部门、岗位管理

数据字典、任务调度、工作流

版本管理

图片

图片

2. 微服务

支持单体服务与微服务之间的灵活切换

实现灰度发布、流量控制、熔断降级

图片

3. 在线代码生成器

自动生成前后端代码,简化开发流程

图片

4. cao作日志

记录并追踪数据修改历史

图片

5. 查询过滤器

动态SQL拼装

6. 数据权限

包括菜单级、按钮级、数据行级、字段级权限控制

7. 字段验证

  • 使用注解验证机制,确保数据准确性

8. 文件服务

支持本地、FTP、Minio、OSS等多种存储方式

9. 数据库

  • 支持读写分离、分库分表

10. 接口定义

  • 统一RESTful风格,集成文档工具

11. 系统监控

  • 在线用户、cao作日志、JVM、SQL、应用状态监控

12. 权限控制

  • 基于角色的访问控制

13. 对外接口安-全

  • 保障接口数据传输的安-全性

14. 账号/密码策略

  • 强化账户安-全措施

15. 工具类

  • 集成Hutool、短信、email 发送等功能

16. 前端CRUD组件

  • 实现分页查询、新增、修改、删除等cao作

17. 数据库版本控制

  • 使用Liquibase管理SQL脚本

18. 开发规范

  • 遵循ali 开发规范

19. 实践

  • 提供详细的部署文档

结语

该开发平台以其强大的功能和灵活的服务架构,极大地提高了开发效率,降低了维护成-本,使得开发者可以专注于业务逻辑的实现。

如果你正在寻找一款既能满足当前需求又能适应未来发展的开发平台,那么它无疑是一个值得考虑的选择。

源码:https://github.com/miaoyinjun/jjche-boot

文档:https://www.yuque.com/miaoyj/nsln4r

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1544558.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【Day20240924】联邦学习中的方法 改进

文章目录 前言一、FedAvg二、FedProx三、MOON四、FedDyn五、FedAsync六、PORT七、ASO-Fed八、FedBuff九、FedSA 前言 几种异步的方法: FedAsync PORT ASO-Fed FedBuff FedSA 几种同步的方法: FedAvg FedProx MOON FedDyn 一、FedAvg FedAvg基本步骤&a…

大模型开发应用实战:真实项目实战对标各类大厂大模型算法岗技术

一、引言 在人工智能领域,大模型已经成为推动技术进步和应用创新的重要力量。随着技术的不断发展,各大厂商纷纷投入大量资源研发大模型,并尝试将其应用于各种实际场景中。为了培养具备大模型开发与应用能力的高级技术人才,我们组织…

cuda算子优化-transpose

transpose 参考链接 方法一:每个线程负责一个元素的转置 cuda代码实现 ncu分析(矩阵维度采用m1024,n512;grid和block维度见下图最上方) 这种方法对读global mem比较友好,可以做到合并访存,但…

知识产权 ABS 企业融资新渠道

在当今知识经济时代,知识产权作为企业的核心资产,其价值日益凸显。知识产权资产证券化(Intellectual Property Asset-Backed Securitization,简称知识产权ABS)作为一种创新的金融工具,为企业盘活知识产权资…

Cpp类和对象(下)(6)

文章目录 前言一、初始化列表概念使用注意实际运用explicit关键字初始化列表的总结 二、static成员static成员的概念static成员的特性static的一个实用场景 三、友元友元函数友元类 四、内部类概念特性 五、匿名对象六、再次理解封装和面向对象总结 前言 Hello,本篇…

【Oauth2整合gateway网关实现微服务单点登录】

文章目录 一.什么是单点登录?二.Oauth2整合网关实现微服务单点登录三.时序图四.代码实现思路1.基于OAuth2独立一个认证中心服务出来2.网关微服务3产品微服务4.订单微服务5.开始测试单点登录 一.什么是单点登录? 单点登录(Single Sign On&…

权威期刊Cell Discovery新成果!上海交大洪亮团队提出CPDiffusion模型,超低成本、全自动设计功能型蛋白质

蛋白质是生命活动的主要执行者,其结构与功能之间的关系一直是生命科学领域研究的核心议题。近年来,随着深度学习的兴起,借助其强大的数据处理能力,让模型学习蛋白质序列、结构及其功能之间的映射关系,设计出具备更高稳…

prithvi WxC气象模型

NASA发布了prithvi WxC气象模型发布 Prithvi是NASA开源的模型,被誉为全球最大的开源地理空间大模型。昨天晚上逛X平台,我看到Prithvi模型又来了新成员:prithvi WxC。 NASA和IBM创建了一个基于MERRA-2数据的天气和气候AI基础模型—Prithvi Wx…

数据库事务索引视图、存储过程

目录 文章目录 一、数据库事务 事务概述: 事务特征: 提交回滚 隔离级别 二、索引 索引创建原则: 存储引擎 单列索引 组合索引 全文索引 空间索引 三、视图 四、函数和存储过程 1.函数的创建 2.存储过程 3.调用格式 4.两者…

初识爬虫8

1.selenium的作用和工作原理 2. 使用selenium,完成web浏览器调用 # -*- coding: utf-8 -*- # 自动化测试工具,降低难度,性能也降低 from selenium import webdriverdriver webdriver.Edge()driver.get("https://www.itcast.cn/")…

高德2024全民出行节启动,联合生态伙伴发放百亿补贴

临近十一黄金周,高德地图宣布启动“2024全民出行节” ,致力于打造出门好生活体验,让用户十一出行“和囧途说ByeBye”。今年十一黄金周期间,高德地图联合生态伙伴在百大行业推出百亿补贴,涵盖吃、住、行、游、购、娱。同…

netty编程之那么多的网络框架为啥非选你?

写在前面 java nio框架不止一种,为啥非选netty?本文来看下。 1:正文 网络io框架,除了netty外,还有mina,sun grizzly,cindy等,为啥独选netty。 mina netty和mina作者同属一人&…

CAN协议一致性测试——深入浅出理解CAN协议(四)

本系列是在同公司硬件设计、验证的同事1、在完成了CANFD硬件接口IP开发 2、熟悉ISO-11898系列、ISO16845、CAN2.0协议、CANFD协议等以及大量学习资料 3、深入研究其他家CANFD IP(NXP、BOSCH)4、独立开发了对应底层驱动 5、通过CANoe和周立功CAN分析仪完成…

类的难疑点

一、知识点 1、类的属性和对象属性(实例属性) shuxing"123" self.shuxing"123" 2、类的对象 self.loginMyclass() loginMyclass() 3、访问类属性和方法的操作 通过“类名.属性”访问:Myclass.shuxing 通…

筋膜炎能自愈吗

筋膜炎能否自愈,主要取决于病情的严重程度以及患者的自我管理和治疗情况。 一、轻微筋膜炎的自愈可能性 对于轻微筋膜炎患者,通过合理的日常护理和适当的运动锻炼,有很高的自愈可能性。这包括: 1、充分休息:避免过度…

【BetterBench博士】2024华为杯C题:数据驱动下磁性元件的磁芯损耗建模 Python代码实现

题目 【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析 【BetterBench博士】2024年中国研究生数学建模竞赛 E题:高速公路应急车道紧急启用模型 问题分析 【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动…

React 理解 re-render 的作用、概念,并提供详细的例子解释

一、什么是 re-render 在 React 中 re-render(重新渲染) 是经常发生的行为,主要确保视图要时刻保持最新的数据来呈现。 但每次发生 re-render 也是有代价的,比如数据状态、focus 焦点、表单数据、都得重置, 遇到代码…

Linux ping c实现

linux下ping程序的c实现 #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <netinet/in.h> #include <stdint.h> #include <netdb.h> #include <arpa/inet.h> #include <unistd.h> #include <st…

LoongArch 个人赛一级评测(前递旁路+load阻塞)

目录 LoongArch 个人赛一级评测&#xff08;前递旁路load阻塞&#xff09;声明测试说明 代码修改thinpad_top.vconver_ram.vIF_stage 测试自动评测在线实验 踩坑记录读写使能控制inout类端口的使用方法Vivado生成Bit流文件时出现[Synth 8-91] ambiguous clock in event control…

file zilla server安装以后,client连接,账号登录成功,但是读取目录失败的处理

1、下载 2、连接 开始一直报错&#xff0c;server1.9.1的版本&#xff0c;后来直接下载了汉化版本进行安装&#xff1a; 服务端 - FileZilla中文网 3、报错&#xff1a;登录正常&#xff0c;但是读取目录失败&#xff0c;一开始也是这个错误&#xff0c;后来改成安装低版本的&a…