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
欢迎加入"前端组件开发学习"交流群,一起学习成长!可关注 "前端组件开发" 公众号后,私信后申请入群。