前言

X-SpringBoot是一个轻量级的Java快速开发平台,基于springboot3和jdk21,使用虚拟线程,可配置的SaaS功能具备RBAC功能、自动代码生成、多种存储系统,多种短信平台,可开放api授权。代码简洁,架构清晰,能快速开发项目并交付【接私活利器】

项目介绍

1. 项目特点

  • X-SpringBoot 是一个轻量级的Java快速开发平台,基于各大开源项目组合而来,用于快速构建中小型API、RESTful API项目,该项目已经有过多个真实企业级项目的实践,稳定、简单、快速,使我们摆脱那些重复劳动。
  • 减少第三方依赖,最干净的脚手架。
  • 引入了lombok 大量简化了代码
  • 引入了MyBatis Plus 大量简化了SQL
  • 引入hutool 工具包 规范工具类
  • 引入minio 分布式文件系统
  • RBAC权限控制
  • 前后端完全脱离,前端代码可单独部署
  • 自定义Spring Security 支持获取token
  • 新增RBAC接口级权限控制
  • 【租户管理】,支持多租户数据管理
  • 【应用管理】,可配置 appKey、appSecret,针对开放API业务,使用appKey、appSecret验证
  • 【短信管理】,可配置不同短信渠道商(不断完善),支持多模板,支持appKey、appSecret验证

账号密码:admin/admin

2. 技术栈

  • 核心框架:Spring Boot 3.5.4
  • 安全框架:Spring Security 6.x
  • 持久层框架:MyBatis Plus 3.5.12
  • 日志管理:SLF4J 1.7、Log4j
  • 页面交互:Vue2.x

功能体验

登录页

首页

菜单管理

接口权限管理

租户管理

日志管理

代码生成

应用服务

短信管理

本地开发

环境依赖

  1. JDK 21
  2. MySQL 8.0
  3. Redis
  4. nginx
  5. nodejs 12.xxx 至 16.14.0

后端工程

1. 克隆代码

git clone https://github.com/yzcheng90/x-springboot.git

2. 项目结构

X-SpringBoot
├─doc  
│  ├─db.sql 项目SQL语句
│  ├─nginx.confi nginx 配置文件
│  ├─updateLog 更新日志
│
├─authentication 权限认证
├─common 公共模块
│  ├─annotation 自定义注解
│  ├─aspect 系统日志
│  ├─base base包
│  ├─exception 异常处理
│  ├─utils 一些工具类
│  └─xss XSS过滤
│ 
├─config 配置信息
├─interceptor token拦截器
│ 
├─modules 功能模块
│  ├─oss 文件服务模块
│  ├─sys 权限模块
│  └─gen 代码生成
│  └─apk 安卓APK管理
│  └─application 应用管理
│  └─msg 短信
│ 
├─Application 项目启动类
│  
├──resources 
│  ├─mapper SQL对应的XML文件


3. 创建数据库 x_springboot

CREATE DATABASE x_springboot CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

4. 修改配置文件

  • 修改 src/main/resources/application-test.yml 中的 MySQL 连接配置信息
spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
    url: jdbc:mysql://127.0.0.1:3306/x_springboot?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
  • 修改配置 src/main/resources/application.yml 中的 Redis 连接配置信息
spring:
  data:
    redis:
      host: 127.0.0.1
      port: 6379

5. 启动服务

前端工程

1. 安装 cnpm、yarn

  • 复制代码(桌面 cmd 运行) npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 复制代码(桌面 cmd 运行) npm install -g yarn

2. 克隆代码

git clone https://github.com/yzcheng90/x-springboot-ui.git

3. 安装依赖

cd x-springboot-ui
cnpm install
cnpm install eslint-webpack-plugin --save-dev
cnpm install core-js --save-dev
npm install element-plus --save-dev
npm install --save @vue/composition-api
npm install --save @vue/shared 
npm install --save @vue/reactivity

建议使用 cnpm,因为 yarn 有时会报错。npm install 安装报错的话,请使用 cnpm install。

4. 运行服务

cnpm run dev

5. 打包

cnpm run build

部署说明

nginx 配置

    server {
        listen 80;
        server_name localhost;
        client_max_body_size    100m; 
  
        location / {
            # UI目录
            root  i:/ui;
            #动态页面
            proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
            if ( !-e $request_filename ){
                proxy_pass    http://127.0.0.1:8080;
            }
        }

        location ^~// {
            proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_pass    http://127.0.0.1:8080;
        }
    }

访问:http://localhost

🎁 福利时间

如果你正在备战面试或者想要学习其他知识,给大家推荐一个宝藏知识库,作者整理了一些列 Java 程序员需要掌握的核心知识,有需要的自取不谢。

知识库地址:https://farerboy.com/


Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐