XBoot:基于Spring Boot 2.x的一站式前后端分离快速开发平台

news2024/9/27 23:24:17

XBoot:基于Spring Boot 2.x的一站式前后端分离快速开发平台

图片

摘要

随着信息技术的迅速发展,快速构建高质量、高可靠性的企业级应用成为了迫切需求。XBoot,作为一个基于Spring Boot 2.x的一站式前后端分离快速开发平台,通过整合微信小程序与Uniapp前端技术栈(Vue+iView Admin)以及后端技术栈(Spring Boot 2.x/Spring Security/JWT/JPA+Mybatis-Plus/Redis/Elasticsearch/Activiti等),为企业级应用提供了全面而高效的解决方案。本文将对XBoot的核心技术、功能特点以及实际应用进行深入探讨。

一、引言

在当前的软件开发领域,前后端分离架构已经成为主流趋势。XBoot正是基于这一趋势,通过整合一系列先进的技术组件和框架,为企业提供了一站式的快速开发平台。通过XBoot,开发人员可以更加高效地进行应用开发,同时保证系统的稳定性、可扩展性和可维护性。

二、XBoot核心技术栈

基于Spring Boot 2.x的一站式前后端分离快速开发平台XBoot 微信小程序+Uniapp 前端:Vue+iView Admin

后端:Spring Boot 2.x/Spring Security/JWT/JPA+Mybatis-Plus/Redis/Elasticsearch/Activiti 分布式限流/同步锁/验证码/SnowFlake雪花算法ID 动态权限 数据权限 工作流 代码生成 定时任务 社交账号 短信登录 单点登录 OAuth2开放平台 客服机器人 数据大屏 暗黑模式

项目简介

  •  代码拥有详细注释 无复杂逻辑 核心使用 SpringBoot 2.4.8

  •  JWT / 基于Redis可配置单设备登录Token交互 任意切换 提供开放平台、OAuth2认证中心 支持点单登录

  •  JPA + Mybatis-Plus 任意切换

  •  操作日志记录方式任意切换Mysql或Elasticseach记录

  •  Java、Vue、SQL代码生成效率翻四倍

  •  动态权限管理、多维度轻松控制权限按钮显示、数据权限管理

  •  支持社交账号、短信等多方式登录 不干涉原用户数据 实现第三方账号管理

  •  基于Websocket消息推送管理、基于Quartz定时任务管理、数据字典管理

  •  后台提供分布式限流、同步锁、验证码等工具类 前端提供丰富Vue模版

  •  可动态配置短信、邮件、Vaptcha验证码等

  •  为什么要前后端分离

    • 都什么时代了还在用JQuery?

图片

截图预览

  • PC

图片

图片

图片

  • iPad Mini 5

图片

  • iPhone X

图片

完整版截图细节展示

系统架构

图片

前端所用技术

  • Vue 2.6.x、Vue Cli 4.x、iView、iview-admin、iview-area、Vuex、Vue Router、ES6、webpack、axios、echarts、cookie等

  • 前台为基于Vue+iView的独立项目请跳转至 xboot-front 项目仓库查看

后端所用技术

图片

各框架依赖版本皆使用目前最新版本
  • Spring Boot

  • SpringMVC

  • Spring Security

  • Spring Data JPA

  • MyBatis-Plus:已更新至3.x版本

  • Redis

  • Elasticsearch:基于Lucene分布式搜索引擎

  • Druid:阿里高性能数据库连接池(偏监控 注重性能可使用默认HikariCP) Druid配置官方中文文档

  • Json Web Token(JWT)

  • Quartz:定时任务

  • Beetl:模版引擎 代码生成使用

  • Thymeleaf:发送模版邮件使用

  • Hutool:Java工具包

  • Jasypt:配置文件加密(thymeleaf作者开发)

  • Swagger2:Api文档生成

  • MySQL

  • Nginx

  • Maven

  • 第三方SDK或服务

    • Vaptcha人机验证码

    • 阿里云短信服务

    • 七牛云文件存储服务

    • 腾讯位置服务:需申请填入key后免费使用

    • 完整版

  • 其它开发工具

    • Lombok

    • JRebel:开发秒级热部署

    • 阿里JAVA开发规约插件

最新最全面在线文档

第一时间更新,文档永不收费

https://www.kancloud.cn/exrick/xboot/content

本地运行部署

  • 安装依赖并启动:Redis、Elasticsearch(当配置使用ES记录日志时需要)

  • Maven安装和在IDEA中配置

  • 建议使用IDEA(破解/免费注册) 安装 Lombok 插件后导入该Maven项目 若未自动下载依赖请在根目录下执行 mvn install 命令

  • MySQL数据库新建 xboot 数据库,配置文件已开启ddl自动生成表结构但无初始数据,请记得运行导入xboot.sql文件(当报错找不到Quartz相关表时请设置数据库忽略大小写或额外重新导入quartz.sql)

  • 修改配置文件 application.yml 相应配置,其中有详细注释,所有配置只需在这里修改

  • 编译器中启动运行 XbootApplication.java 或根目录下执行命令 mvn spring-boot:run 默认端口8888 访问接口文档 http://localhost:8888/doc.html 说明启动成功 管理员账密admin|123456

  • 前台页面请启动基于Vue的 xboot-front 项目,并修改其接口代理配置

温馨提示:若更新代码后报错,请记得更新sql并清空Redis缓存

开发指南及相关技术栈文档

  • 项目基本配置和使用相关技术栈文档【必读】

  • 如何使用XBoot后端在30秒内开发出增删改接口

  • 具体XBoot增删改文档示例

  • 完整版

    • 第三方社交账号登录配置

    • 短信登录配置

    • Vaptcha人机验证码配置使用

    • Activiti工作流开发说明

分布式扩展

XBoot后端学习分享(更新中)

  1. Spring Boot 2.x 区别总结

  2. Spring Security整合JWT

  3. Spring Security实现动态数据库权限管理

  4. Spring Boot 2.x整合Quartz

  5. 基于Websocket实现发送消息后右上角消息图标红点实时显示

  6. Spring Boot 2.x整合Activiti工作流以及模型设计器

Docker下后端集群部署(更新中)

前端集群部署请跳转至xboot-front项目查看

1.Docker的安装与常用命令

2.基于PXC架构Mysql数据库集群搭建

3.Redis集群搭建

4.Elasticsearch集群搭建

5.XBoot后端集群部署

三、XBoot功能特点

  1. 微信小程序与Uniapp前端支持:通过微信小程序和Uniapp的支持,XBoot实现了跨平台的前端开发,使得应用可以在不同的设备和平台上获得一致的用户体验。

  2. 后端功能全面:后端集成了Spring Boot 2.x、Spring Security、JWT等技术,提供了强大的功能支持,包括分布式限流、同步锁、验证码、SnowFlake雪花算法ID生成等。

  3. 动态权限与数据权限管理:XBoot通过集成相关技术和框架,实现了动态权限和数据权限的管理,为应用提供了细粒度的权限控制功能。

  4. 工作流与代码生成:通过集成Activiti等工作流框架,XBoot提供了工作流支持,同时结合代码生成功能,可以大大提高开发效率。

  5. 定时任务与社交账号支持:XBoot支持定时任务的配置和执行,同时提供了社交账号登录、短信登录、单点登录和OAuth2开放平台等社交账号支持。

  6. 客服机器人与数据大屏:XBoot还提供了客服机器人和数据大屏功能,为企业提供了更加智能化的客户服务和数据分析支持。

四、实际应用

XBoot作为一站式快速开发平台,已经在多个实际项目中得到了应用。通过XBoot,企业可以更加高效地进行应用开发,同时保证系统的稳定性和可扩展性。XBoot的暗黑模式等特色功能,也为用户提供了更加个性化的使用体验。

五、总结与展望

XBoot作为基于Spring Boot 2.x的一站式前后端分离快速开发平台,通过整合一系列先进的技术组件和框架,为企业级应用提供了全面而高效的解决方案。未来,随着技术的不断发展和业务的不断拓展,XBoot将继续优化和升级技术架构,以满足更加复杂和多变的业务需求。同时,我们也期待更多的技术人员能够参与到XBoot的开发和优化中来,共同推动企业级应用技术的发展和创新。

项目下载地址:

https://github.com/Exrick/xboot

XBoot 微信小程序下载地址

https://github.com/Exrick/xmall-weapp

欢迎加入“前端组件开发学习”交流群,一起学习成长!可关注  “前端组件开发” 公众号后,私信后申请入群。

d848d5658a07453c843277846948c608.png

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

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

相关文章

CSS选择器、字体文本属性、三大特性、盒子模型等

目录 导入css简介HTML的局限性CSS-网页美化CSS语法规范CSS代码风格 选择器基础选择器复合选择器 CSS字体属性字体系列字体大小字体粗细文字样式字体复合属性 CSS文本属性文本颜色对齐文本装饰文本文本缩进行间距(即行高) CSS的引入方式emmet语法元素显示模式什么是?…

百度下拉框负面信息如何删除?

百度头条360等搜索引擎,作为人们获取信息的主要途径之一。然而,一些知名的企业或个人可能会面临在搜索的下拉框中出现负面信息的问题,这可能对其声誉和形象造成不良影响。小马识途营销顾问根据自身从业经验,针对这类情况提出以下建…

【R语言】描述性数据分析与数据可视化

我们处理的变量可以分为两类,一类是连续型变量,另一类叫做分类型变量,其中对于连续型变量,如果服从正态分布就用平均值填充NA,不服从正态分布就用中位数填充NA,对于分类型变量,不管是有序的&…

记服务器被挖矿的一次排查

1、top 查看进程使用情况,进程名为 kswapd0 用了180%的CPU,我的机器是2C的,所以基本上算是吃掉了所有的CPU资源,很明显罪魁祸首就是它。 2、执行命令 netstat -antlp | grep kswapd0 查询该进程的网络信息,发现一个与…

漫谈音频深度伪造技术

作为人工智能时代的新型媒体合成技术,深度伪造技术近年来在网络媒体中的涉及领域越发广泛、出现频次越发频繁。据路透社报道,2023年,社交媒体网站上发布50万个深度伪造的语音和视频。 1、深度伪造技术的五个方面 音频深度伪造技术&#xff…

Unity 性能优化之静态批处理(三)

提示:仅供参考,有误之处,麻烦大佬指出,不胜感激! 文章目录 前言一、静态批处理是什么?二、使用步骤1.勾选Static Batching2.测试静态合批效果 三、静态合批得限制1、游戏对象处于激活状态。2、游戏对象有一…

tomcat+maven+java+mysql图书管理系统1-配置项目环境

目录 一、软件版本 二、具体步骤 一、软件版本 idea2022.2.1 maven是idea自带不用另外下载 tomcat8.5.99 Javajdk17 二、具体步骤 1.新建项目 稍等一会,创建成功如下图所示,主要看左方目录相同不。 给maven配置国外镜像 在左上…

前端工程化06-JavaScript模块化CommonJS规范ES Module

7、JavaScript模块化 在js开发中,他并没有拆分的概念,并不像java一样他可以拆分很多的包,很多的类,像搭积木一样完成一个大型项目的开发,所以js在前期的时候并不适合大型后端的项目开发,但是这些问题在后来…

16_Scala面向对象编程_函数

文章目录 1.声明Scala函数2.访问伴生对象3.空对象直接用的方法4.构造对象--通过object获取单例对象--直接new--scala独有apply()方式--scala有参构造--scala构造方法两大类使用辅构造如下上述代码主构造为辅助构造方法甚至可以多个多个辅助构造形参内容不能重不使用辅助构造和使…

Linux文件类型及目录和文件的权限

一、Linux 文件类型 1、Windows文件类型 2、Linux文件类型 1普通文件类型 Linux 中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据 格式的文件(data);各种压缩文件.第一个属性为 - 2目录文件 就是目录, 能用 # cd 命…

【微服务】服务保护(通过Sentinel解决雪崩问题)

Sentinel解决雪崩问题 雪崩问题服务保护方案服务降级保护 服务保护技术SentinelFallback服务熔断 雪崩问题 在微服务调用链中如果有一个服务的问题导致整条链上的服务都不可用,称为雪崩 原因 微服务之间的相互调用,服务提供者出现故障服务的消费者没有…

Unity 热更--AssetBundle学习笔记 1.0【AB包资源加载工具类的实现】

合集 - Unity学习笔记(13)1.Unity学习笔记–基础2023-11-012.Unity学习笔记–入门2023-10-293.Unity学习笔记–数据持久化之PlayerPrefs的使用2023-11-194.Unity学习笔记–数据持久化XML文件(1)2023-11-205.Unity学习笔记–数据持久化XML文件(2)2023-12-…

ADS基础教程8-仿真库加载

目录 一、系统库介绍二、厂商库1.模型下载1)登录官网2)选择所需模型3)点击下载4)指定保存路径 二.模型加载1)设计套件选择2)选择解压文件3)解压文件成功4)添加到当前workspace5&…

在STM32中用寄存器方式点亮流水灯

文章目录 实验资料一、对寄存器的理解1.通俗认识寄存器2.深入了解寄存器(1)端口配置低寄存器(配置0到7引脚的寄存器)(2)端口配置高寄存器(配置8到15引脚) 3.GPIO口的功能描述 二、配…

在线协作,开源的设计和原型创作平台:penpot

penpot:面向团队,设计自由- 精选真开源,释放新价值。 概览 Penpot 是一款专为跨职能团队量身定制的开源设计软件,与行业领先的 Figma 齐名,提供了一个强大而灵活的在线设计解决方案。其最大的亮点在于,用户…

五一假期零碎时间练习学习过的内容(商城版)

目录 1 总览1.1 技术架构1.2 其他1.2.1 数据库1.2.2 后端部分1.2.2.1 复习feign1.2.2.2 复习下网关网关的核心功能特性:网关路由的流程断言工厂过滤器工厂全局过滤器 过滤器执行顺序解决跨域问题 1.2.2.3 es部分复习 1.2.3 前端部分 2 day1 配置网关2.1 任务2.2 网关…

5.3 调制与解调

信号的调制与解调是通信系统中一对基本的概念,涉及将信息(语音、视频、数据等)在发送之前进行处理以便在传输介质(如无线电波、电话线等)上有效传输,以及在接收端恢复这些信息的过程。 一、调制&#xff0…

Java | Leetcode Java题解之第60题排列序列

题目&#xff1a; 题解&#xff1a; class Solution {public String getPermutation(int n, int k) {int[] factorial new int[n];factorial[0] 1;for (int i 1; i < n; i) {factorial[i] factorial[i - 1] * i;}--k;StringBuffer ans new StringBuffer();int[] valid…

虚拟机jvm下

jvm原理与实践 java程序的跨平台特性 jvm基本结构 JVM类加载流程和内存结构总览 类加载 加载阶段 类加载 验证阶段 类加载 准备阶段 类加载 解析阶段 类加载 初始化阶段 程序计数器 虚拟机栈&本地方法栈 栈帧操作 堆 方法区 永久代 元空间 垃圾回收 可触及性

Day12-JavaWeb开发-登录校验(概述/JWT令牌/Fitter/Interceptor)登录认证(会话技术/会话跟踪)

1. 基础登录功能 2. 登录校验-概述 3. 登录认证-登录校验-会话技术 3.1 会话技术 3.2 会话跟踪方案对比 4. 登录校验-JWT令牌 4.1 JWT令牌-介绍 4.2 JWT令牌-生成和校验 4.3 JWT令牌-登录后下发令牌 5. 登录校验-过滤器Fitter 5.1 Fitter-入门 5.2 Fitter-详解(执行流程) 5.3…