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

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

d848d5658a07453c843277846948c608.png

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI-数学-高中56-成对数据统计-线性回归方程

原作者视频:【成对数据统计】【一数辞典】1线性回归方程_哔哩哔哩_bilibili 注意:高中只学线性回归。 最小二乘法(残差和平方最小的直线、方差最小>拟合程度最好):

滑动验证码登陆测试编程示例

一、背景及原理 处理登录时的滑动验证码有两个难点,第一个是找到滑块需要移动的距离,第二个是模拟人手工拖动的轨迹。模拟轨迹在要求不是很严的情况下可以用先加速再减速拖动的方法,即路程的前半段加速度为正值,后半段为负值去模…

微搭低代码入门03页面管理

目录 1 创建页面2 页面布局3 页面跳转总结 上一篇我们介绍了应用的基本操作,掌握了应用的概念后接着我们需要掌握页面的常见操作。 1 创建页面 打开应用的编辑器,在顶部导航条点击创建页面图标 在创建页面的时候可以从空白新建,也可以使用模…

docker-本地私有仓库、harbor私有仓库部署与管理

一、本地私有仓库: 1、本地私有仓库简介: docker本地仓库,存放镜像,本地的机器上传和下载,pull/push。 使用私有仓库有许多优点: 节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下…

JavaEE >> Spring Boot 日志

日志的作用以及什么是日志 日志就是为了当程序出错的时候,程序员们可以通过日志看到是哪部分出现错误了,为了发现和定位问题。当然,我们还可以通过日志实现一些功能,如下: 记录系统的操作⽇志,⽅便数据恢…

CSS探索之旅:定位

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文我们详细介绍 css中定位的相关知识点 定位的用处 先简单认识一下定位是做什么的。 其实,定位的功能就像他的名字一样,可以规定显示在网页的一个位置。 其他布局的效果 我们之前默认…

Java面试——不安全的集合类

​ 系统性学习&#xff0c;移步IT-BLOG-CN Java 中有许多的集合&#xff0c;常用的有List&#xff0c;Set&#xff0c;Queue&#xff0c;Map。 其中 List&#xff0c;Set&#xff0c;Queue都是Collection&#xff08;集合&#xff09;&#xff0c;List中<>的内容表示其中…

基于Pytorch深度学习——卷积神经网络(卷积层/池化层/多输入多输出通道/填充和步幅/)

本文章来源于对李沐动手深度学习代码以及原理的理解&#xff0c;并且由于李沐老师的代码能力很强&#xff0c;以及视频中讲解代码的部分较少&#xff0c;所以这里将代码进行尽量逐行详细解释 并且由于pytorch的语法有些小伙伴可能并不熟悉&#xff0c;所以我们会采用逐行解释小…

Java 笔记 15:Java 数组相关内容补充,多维数组,Arrays 类的常见用法,以及冒泡排序

一、前言 记录时间 [2024-05-05] 系列文章简摘&#xff1a; Java 笔记 01&#xff1a;Java 概述&#xff0c;MarkDown 常用语法整理 Java 笔记 02&#xff1a;Java 开发环境的搭建&#xff0c;IDEA / Notepad / JDK 安装及环境配置&#xff0c;编写第一个 Java 程序 Java 笔记 …

【在线OJ】Vue在线OJ项目

一、主页 二、题库 三、在线编译器 四、比赛 五、搜索 六、个人主页

【区块链】比特币架构

比特币架构 2009年1月&#xff0c;在比特币系统论文发表两个月之后&#xff0c;比特币系统正式运行并开放了源码&#xff0c;标志着比特币网络的正式诞生。通过其构建的一个公开透明、去中心化、防篡改的账本系统&#xff0c;比特币开展了一场规模空前的加密数字货币体验。在区…

vue3(实现上下无限来往滚动)

一、问题描述 一般在大屏项目中&#xff0c;很常见的效果&#xff0c;就是容器中的内容缓慢地向下移动&#xff0c;直到底部停止&#xff0c;然后快速滚动回顶部&#xff0c;然后接着缓慢滚动到底部。并且在特定的情况下&#xff0c;还需要进行一些小交互&#xff0c;那就还得让…

RabbitMQ之生产批量发送

为什么要用生产批量发送&#xff1f; 批量发送消息&#xff0c;可以提高MQ发送性能。但是 RabbitMQ 并没有提供了批量发送消息的 API 接口,使用 spring-amqp 的 BatchingRabbitTemplate 实现批量能力。 SimpleBatchingStrategy 发送策略满足以下规则会进行发送&#xff1a; ba…

FreeRTOS低功耗模式(1-19)

低功耗模式简介(了解) 很多应用场合对于功耗的要求很严格&#xff0c;比如可穿戴低功耗产品、物联网低功耗产品等 一般MCU都有相应的低功耗模式,裸机开发时可以使用MCU的低功耗模式。 FreeRTOS也提供了一个叫Tickless的低功耗模式,方便带FreeRTOS操作系统的应用开发 stm32的低…

C#创建obj三维模型文件

介绍 使用开源库创建obj三维模型文件。 开源库地址&#xff1a;https://github.com/JeremyAnsel/JeremyAnsel.Media.WavefrontObj 相关API地址&#xff1a;https://jeremyansel.github.io/JeremyAnsel.Media.WavefrontObj/api/JeremyAnsel.Media.WavefrontObj.ObjFile.html …

docker desktop实战部署oracle篇

1、前言 oracle数据库官方已提供现成的镜像&#xff0c;可以直接拿来部署了。 由于项目中需要使用oracle数据库的分表功能&#xff0c;之前安装的是standard版本&#xff0c;无奈只能重新安装。网上查了一番&#xff0c;使用的方法都比较传统老旧&#xff1a;下载安装包手动安…

多线程局部存储技术

问题 多线程上下文中&#xff0c;每个线程需要使用一个专属的全局变量&#xff0c;该如何实现&#xff1f; 代码示例 一种可能的解决方案 test1.c #define _GNU_SOURCE /* To get pthread_getattr_np() declaration */ #define _XOPEN_SOURCE > 500 || _POSIX_C_SOURC…

谷歌上架,为什么会触发填表单,可以避免吗?怎么填表单可以提高通过率?

在谷歌上架过程中&#xff0c;相信大部分开发者都有收到过谷歌发来表单填写的邮件通知&#xff0c;要求开发者们在14天内根据表单要求回复关于应用部分情况。邮件如图&#xff1a; 根据触发填表单的开发者分享的经验来看&#xff0c;填完表之后出现的情况不尽相同&#xff0c;且…

【华为】路由综合实验(OSPF+BGP基础)

【华为】路由综合实验 实验需求拓扑配置AR1AR2AR3AR4AR5PC1PC2 查看通信OSPF邻居OSPF路由表 BGPBGP邻居BGP 路由表 配置文档 实验需求 ① 自行规划IP地址 ② 在区域1里面 启用OSPF ③ 在区域1和区域2 启用BGP&#xff0c;使AR4和AR3成为eBGP&#xff0c;AR4和AR5成为iBGP对等体…

【JVM】class文件格式,JVM加载class文件流程,JVM运行时内存区域,对象分配内存流程

这篇文章本来只是想讲一下class文件格式&#xff0c;讲着讲着越讲越多。JVM这一块吧&#xff0c;知识比较散比较多&#xff0c;如果深研究下去如死扣《深入理解Java虚拟机》&#xff0c;这本书很深很细&#xff0c;全记住是不可能的&#xff0c;其实也没必要。趁这个机会直接把…