当前位置: 首页 > news >正文

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

相关文章:

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是线程不安全的&#xff0c…...

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详解

...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性&#xf…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...