XBoot:基于Spring Boot 2.x的一站式前后端分离快速开发平台
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后端学习分享(更新中)
-
Spring Boot 2.x 区别总结
-
Spring Security整合JWT
-
Spring Security实现动态数据库权限管理
-
Spring Boot 2.x整合Quartz
-
基于Websocket实现发送消息后右上角消息图标红点实时显示
-
Spring Boot 2.x整合Activiti工作流以及模型设计器
Docker下后端集群部署(更新中)
前端集群部署请跳转至xboot-front项目查看
1.Docker的安装与常用命令
2.基于PXC架构Mysql数据库集群搭建
3.Redis集群搭建
4.Elasticsearch集群搭建
5.XBoot后端集群部署
三、XBoot功能特点
-
微信小程序与Uniapp前端支持:通过微信小程序和Uniapp的支持,XBoot实现了跨平台的前端开发,使得应用可以在不同的设备和平台上获得一致的用户体验。
-
后端功能全面:后端集成了Spring Boot 2.x、Spring Security、JWT等技术,提供了强大的功能支持,包括分布式限流、同步锁、验证码、SnowFlake雪花算法ID生成等。
-
动态权限与数据权限管理:XBoot通过集成相关技术和框架,实现了动态权限和数据权限的管理,为应用提供了细粒度的权限控制功能。
-
工作流与代码生成:通过集成Activiti等工作流框架,XBoot提供了工作流支持,同时结合代码生成功能,可以大大提高开发效率。
-
定时任务与社交账号支持:XBoot支持定时任务的配置和执行,同时提供了社交账号登录、短信登录、单点登录和OAuth2开放平台等社交账号支持。
-
客服机器人与数据大屏:XBoot还提供了客服机器人和数据大屏功能,为企业提供了更加智能化的客户服务和数据分析支持。
四、实际应用
XBoot作为一站式快速开发平台,已经在多个实际项目中得到了应用。通过XBoot,企业可以更加高效地进行应用开发,同时保证系统的稳定性和可扩展性。XBoot的暗黑模式等特色功能,也为用户提供了更加个性化的使用体验。
五、总结与展望
XBoot作为基于Spring Boot 2.x的一站式前后端分离快速开发平台,通过整合一系列先进的技术组件和框架,为企业级应用提供了全面而高效的解决方案。未来,随着技术的不断发展和业务的不断拓展,XBoot将继续优化和升级技术架构,以满足更加复杂和多变的业务需求。同时,我们也期待更多的技术人员能够参与到XBoot的开发和优化中来,共同推动企业级应用技术的发展和创新。
项目下载地址:
https://github.com/Exrick/xboot
XBoot 微信小程序下载地址
https://github.com/Exrick/xmall-weapp
欢迎加入“前端组件开发学习”交流群,一起学习成长!可关注 “前端组件开发” 公众号后,私信后申请入群。

相关文章:
XBoot:基于Spring Boot 2.x的一站式前后端分离快速开发平台
XBoot:基于Spring Boot 2.x的一站式前后端分离快速开发平台 摘要 随着信息技术的迅速发展,快速构建高质量、高可靠性的企业级应用成为了迫切需求。XBoot,作为一个基于Spring Boot 2.x的一站式前后端分离快速开发平台,通过整合微信…...
24年最新抖音、视频号0成本挂机,单号每天收益上百,可无限挂
详情介绍 这次给大家带来5月份最新的短视频挂机项目,简单易上手,而且不需要任何投入,经过测试收益非常可观,软件完全免费,特别适合没有时间但是想做副业的家人们...
Day31:单元测试、项目监控、项目部署、项目总结、常见面试题
单元测试 保证独立性。 Assert:断言,一般用来比较是否相等,比如 Assert.assertEquals 在JUnit测试框架中,BeforeClass,Before,After和AfterClass是四个常用的注解,它们的作用如下: …...
Flutter笔记:使用Flutter私有类涉及的授权协议问题
Flutter笔记 使用Flutter私有类涉及的授权协议问题 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.cs…...
面试过程种遇到的面试题收集
文章目录 讲一讲这个项目是干什么的?需求规格说明书有哪些章节?职工部门层级如何显示在一张SQL表上?需求开发用到了哪些技术?HashMap 底层数据结构说一下?介绍一下红黑树?HashMap是线程不安全的,…...
Vue学习:21.mixins混入
在Vue中,mixins(混入)是一种用于分发Vue组件中可复用功能的灵活机制。它们允许你抽取组件中的共享功能,如数据、计算属性、方法、生命周期钩子等,并将其作为单独的模块复用到多个组件中。这种方式有助于保持代码的DRY&…...
上传文件到 linux
一、mac 法一:scp 先进入mac的 Node_exporter文件(要上传的文件)目录下 输入scp -P 端口号 文件名 rootIP:/存放路径 scp -P 22 node_exporter-1.8.0.linux-amd64.tar.gz root192.***.2:/root 法二、 rz mac 安装 lrzsz,然后…...
NEO 学习之session7
文章目录 选项 A:它涉及学习标记数据。 选项 B:它需要预定义的输出标签进行训练。 选项 C:它涉及在未标记的数据中寻找模式和关系。 选项 D:它专注于根据输入-输出对进行预测。 答案:选项 C 描述了无监督学习的本质&am…...
毕业设计uniapp+vue有机农产品商城系统 销售统计图 微信小程序
本人在网上找了一下这方面的数据发现农村中的信心普及率很是低农民们都不是怎么会用手机顶多就是打打电话发发短信,平时不太会上网更不会想到通过网络手段去卖出自己的劳作成果—农产品,这无疑大大浪费了农民的劳动成果和国家资源也大大打击了人们的生产…...
php使用Canal监听msyql
canal需要java8 去官网下载java8 安装JAVA #创建目录 mkdir -p /usr/local/java/ #解压到目录 tar zxvf jdk-8u411-linux-x64.tar.gz -C /usr/local/java/配置环境变量在 /etc/profile 最后加入 export JAVA_HOME/usr/local/java/jdk1.8.0_411 export CLASSPATH.:$JAVA_HOM…...
metabase部署与实践
1. 项目目标 (1)了解metabase特点 (2)熟练部署metabase工具 (3)掌握metabase基本使用 2. 项目准备 2.1. 规划节点 主机名 主机IP 节点规划 metabase 10.0.1.141 metabase 2.2. 基础准备 系统镜…...
nacos v2.2.3 docker简单安装使用
nacos v2.2.3 docker简单安装使用 Nacos 官方文档: https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html 控制台: http://127.0.0.1:8848/nacos/ 初始用户名、密码: 账号:nacos 密码:nacos 启动docker…...
java设计模式-生成器模式
文章目录 生成器模式(Builder)1、目的和适用场景2、角色和职责3、实现步骤4、示例15、示例26、优点7、示例场景 生成器模式(Builder) 生成器模式(Builder Pattern)是一种创建型设计模式,它用于…...
《前端面试题》- TypeScript - TypeScript的优/缺点
问题 简述TypeScript的优/缺点 答案 优点 增强了代码的可读性和可维护性包容性,js可以直接改成ts,ts编译报错也可以生成js文件,兼容第三方库,即使不是ts编写的社区活跃,完全支持es6 缺点 增加学习成本增加开发成…...
微服务---feign调用服务
目录 Feign简介 Feign的作用 Feign的使用步骤 引入依赖 具体业务逻辑 配置日志 在其它服务中使用接口 接着上一篇博客,我们讲过了nacos的基础使用,知道它是注册服务用的,接下来我们我们思考如果一个服务需要调用另一个服务的接口信息&…...
刷题笔记 - 滑动窗口
文章目录 滑动窗口最长无重复子串最小覆盖子串串联所有单词的子串长度最小的子数组滑动窗口最大值字符串的排列最小区间 滑动窗口 所有题目来自leetcode的回答:https://leetcode.cn/problems/longest-substring-without-repeating-characters/solutions/3982/hua-d…...
Docker搭建LNMP+Wordpress的实验
目录 一、项目的介绍 1、项目需求 2、服务器环境 3、任务需求 二、Linux系统基础镜像 三、部署Nginx 1、建立工作目录 2、编写Dockerfile 3、准备nginx.conf配置文件 4、设置自定义网段和创建镜像和容器 5、启动镜像容器 6、验证nginx 三、Mysql 1、建立工作目录…...
使用Python Pandas实现两表对应列相加(即使表头不同)
目录 引言 Pandas库简介 实现对应列相加 步骤一:加载数据 步骤二:重命名列 步骤三:对应列相加 步骤四:保存结果 案例分析 结论 引言 在数据分析和处理的日常工作中,我们经常会遇到需要将来自不同数据源的数据…...
Linux 虚拟主机切换php版本及参数
我使用的Hostease的Linux虚拟主机产品,由于网站程序需要支持高版本的PHP,程序已经上传到主机,但是没有找到切换PHP以及查看PHP有哪些版本的位置,因此咨询了Hostease的技术支持,寻求帮助了解到可以实现在cPanel面板上找到此切换PHP版本的按钮&…...
Content-Type详解
...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
