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后端学习分享(更新中)

  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

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

相关推荐
优雅永不过时·20 分钟前
Three.js 原生 实现 react-three-fiber drei 的 磨砂反射的效果
前端·javascript·react.js·webgl·threejs·three
爱编程的鱼1 小时前
javascript用来干嘛的?赋予网站灵魂的语言
开发语言·javascript·ecmascript
神夜大侠3 小时前
VUE 实现公告无缝循环滚动
前端·javascript·vue.js
明辉光焱3 小时前
【Electron】Electron Forge如何支持Element plus?
前端·javascript·vue.js·electron·node.js
柯南二号3 小时前
HarmonyOS ArkTS 下拉列表组件
前端·javascript·数据库·harmonyos·arkts
wyy72933 小时前
v-html 富文本中图片使用element-ui image-viewer组件实现预览,并且阻止滚动条
前端·ui·html
前端郭德纲4 小时前
ES6的Iterator 和 for...of 循环
前端·ecmascript·es6
究极无敌暴龙战神X4 小时前
前端学习之ES6+
开发语言·javascript·ecmascript
王解4 小时前
【模块化大作战】Webpack如何搞定CommonJS与ES6混战(3)
前端·webpack·es6
欲游山河十万里4 小时前
(02)ES6教程——Map、Set、Reflect、Proxy、字符串、数值、对象、数组、函数
前端·ecmascript·es6