前言
当前市面上的中后台管理系统虽然种类繁多,但在实际使用中仍存在不少痛点,比如技术栈陈旧、性能低下、扩展性差等问题。开发者们常常需要花费大量的时间和精力去处理这些问题,而不是专注于业务逻辑本身。
那么,有没有一个框架可以处理这些痛点,使得开发者能够更加专注于业务逻辑的开发呢?
介绍
Sz Admin 正是为了处理这些问题而诞生的。作为一个基于新技术栈(Spring Boot 3、Vue 3 和 Element-Plus)的开源中后台管理框架,Sz Admin 致力于提供一个流畅、直观且功能强大的开发平台。
技术架构
Sz Admin 使用前沿的技术组合,旨在提供一个既强大又易于维护的处理方案:
-
SpringBoot 3.x:新的Spring Boot版本,带来更好的性能和更多的特性。
-
Sa-Token:轻量级权限认证框架,简化认证流程。
-
Mybatis Flex:优雅的MyBatis增强框架,提升开发效率。
-
Flyway:可靠的数据库版本控制工具。
-
Knife4j:增强的Swagger工具,提升API文档的可读性。
-
Minio:高性能的对象存储服务。
-
HikariCP:高-效的数据库连接池管理。
-
Vue 3.4:新稳定版本的Vue.js。
-
Vite 5:前端开发与构建工具,提升开发体验。
-
TypeScript:静态类型检查,增强代码质量。
-
Pinia:Vue 3的状态管理库,简化状态管理。
-
Element-Plus:Vue 3组件库,加速UI开发。
部署方式
部署 Sz Admin 系统是一个简单明了的过程,下面将指导您通过几个关键步骤来完成整个部署流程。
环境准备
确保您的开发环境中已经安装了以下组件:
-
JDK 21:使用Azul或其他支持的JDK版本。
-
MySQL 8.0.34:从官网下载并安装。
-
Maven 3.8:从官网下载并安装。
-
Redis 7.2.1:从官网下载并安装。
-
Node 20.12.2:使用
nvm-windows
或nvm
管理不同版本的Node环境。
获取源码
从GitHub或Gitee clone Sz Admin的源代码仓库:
# 从GitHub
git clone https://github.com/feiyuchuixue/sz-boot-parent.git
# 或者从Gitee
git clone https://gitee.com/feiyuchuixue/sz-boot-parent.git
导入项目
将克隆下来的项目导入到IDEA中:
-
打开IDEA,选择
Import Project
。 -
选择克隆下来的项目目录,IDEA会自动识别并导入项目。
Maven依赖导入
为了加快Maven依赖的下载速度,在项目根目录下的pom.xml
文件中配置了ali 云的Maven镜像。根据网络环境灵活处置(如不需要,可以注释掉ali 云镜像配置):
<repositories>
<repository>
<id>public</id>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<!-- 配置官方Maven中央仓库 -->
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
<!-- 通常中央仓库不包含snapshots -->
</snapshots>
</repository>
</repositories>
修改配置文件
在resources/config
路径下,存在多个文件目录,分别是:
-
dev
:开发环境 -
local
:本地环境 -
preview
:预览/测试环境 -
prod
:正式环境
请根据实际情况选择合适的环境配置进行修改。
打开sz-service -> sz-service-admin -> resources -> local
目录下的mysql.yml
和redis.yml
,修改配置。
修改MySQL连接信息
创建数据库(例如:创建数据库sz_admin_preview
),使用utf8mb4
字符集。根据数据库信息修改JDBC配置:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/sz_admin_preview?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: Yanfa2023@
hikari:
pool-name: HikariCP
minimum-idle: 5
idle-timeout: 600000
maximum-pool-size: 10
auto-commit: true
max-lifetime: 1800000
connection-timeout: 30000
connection-test-query: SELECT 1
修改Redis连接信息
根据本地或远程Redis服务器信息修改配置:
spring:
data:
redis:
host: 127.0.0.1
port: 6379
database: 0
timeout: 50000
jedis:
pool:
max-active: 100
max-wait: -1
max-idle: 30
min-idle: 10
password: 123456
redis:
listener:
enable: true
运行启动文件
在IDEA中运行com.sz.AdminApplication.java
启动文件:
java -jar sz-boot-parent.jar
启动成功后,将在控制台输出如下信息:
2024-05-14 19:42:10.871 INFO 31360 - [admin-service] [ main] c.sz.platform.listener.AppStartListener :
__ _| ] (_) .--. ____ ______ ,--. .--.
|| _ .--..--. __ _ .--. ( (`\] [_ ]
|`'_\ : / /'`\'| [ `.-. .-.| |[ `.-.|
`'.'. .' /_ //||,| \__/|[\__) )[_____]
\'-;__/ '.__.;__][___||__][___][___]|
-https://szadmin.cn (v0.6.0 Beta)-
验证
127.0.0.1:9991/api/admin/doc.html#/home
,展示如下页面,搭建完成!
开源协议
Sz Admin 遵循 Apache License Version 2.0 开源协议,商用友好,可以拿来即用,也便于进行二次开发。
即刻体验一波
Sz Admin 的功能丰富多样,包括但不限于:
账户管理:创建、配置用户及分配权限。
角色管理:实现权限的精细化绑定。
菜单管理:定制化系统导航结构。
字典管理:维护静态数据字典。
参数管理:动态调整系统参数。
客户端管理:监管接入客户端。
部门管理:构建组织架构。
代码生成器:自动化生成代码模板。
WebSocket:提供WebSocket支持。
数据权限支持:精细控制数据访问权限。
更多功能待你来发掘。
结语
Sz Admin 以其先进的技术架构和丰富的功能,为开发者提供了一个高效、灵活的开发平台。不论是构建复杂的管理系统,还是简单的业务应用,Sz Admin 都是一个值得考虑的选择。