Skip to content

paynezhuang/panis-boot

Repository files navigation

PanisBoot 后台管理系统

SpringBoot JDK Version License
Author Copyright

项目简介

Panis: 名为 Pan , is Pan 反过来 Panis,同译为:面包。

PanisBoot 是一款现代化的后台管理系统脚手架,它基于 Spring Boot 3 框架进行开发。也得益于前端 @SoybeanAdmin 1.0.0 发版后,精致的用户界面和一致的编码,所以得此顺势完善此项目。 在市面上虽然存在众多出色的 Java 后端管理系统框架,但还是决定重复再造一个轮子。

技术选型

技术 说明 版本
Spring Boot 核心框架 3.3.2
MyBatis-Plus 持久层框架 3.5.6
MySQL 数据库 8.0.35
Redis 缓存 7.2.3
Sa-Token 鉴权框架 1.38.0
Logback 日志管理 1.5.6
Knife4j 接口文档 4.5.0
Lombok 工具库 1.18.34
Jackson JSON解析 2.15.4
Gson JSON解析 2.10.1
Guava Google工具库 33.2.1-jre
Hutool 工具库 5.8.29

项目源码

名称 链接
前端 Panis-admin
后端 Panis-boot
后端扩展依赖库 Panis-boot-starter

项目启动

前置环境
  • Java 开发环境 >=JDK 21
  • Java 开发工具 IDEA
  • Maven 构建依赖环境 >=3.9.6
  • MySQL 数据库 >=8.0.35
  • Redis 缓存数据库 >=7.2.3
克隆项目
git clone https://github.com/paynezhuang/panis-boot
git clone https://github.com/paynezhuang/panis-boot-starter
导入启动
  1. panis-boot以及panis-boot-starter分别导出到IDEA中,等待 Maven 依赖下载完成
  2. 创建数据库panis_boot,导入panis-boot-doc项目中的panis_boot.sql,文件暂在QQ群获取
  3. 修改panis-boot项目中的application-dev.yml文件中的数据库以及Redis连接信息
  4. 启动PanisBootApplication
  5. 看到---[PanisBoot]-[panis-boot-admin]-启动完成,当前使用的端口:[9999],环境变量:[mybatis,dev]---即代表启动成功

项目结构

PanisBoot
├── panis-boot-common -- 基础模块
├── panis-boot-admin -- 后台管理模块
│   └── controller  -- 控制层
├── panis-boot-infrastructure -- 基础配置
├── panis-boot-modules -- 业务模块
│   └── system 
│       └── repository -- 数据交互
│           └── mapper -- 持久层
│       └── domain  -- 业务模型
│           └── entity -- 数据库实体
│           └── vo -- 视图对象
│           └── bo -- 业务对象
│           └── dto -- 传输对象
│       └── service -- 服务层
│           └── impl -- 服务实现层
│       └── facade -- 门面层
│           └── impl -- 门面实现层
│   └── base -- 基础管理
│   └── ... -- 其他模块
└── pom.xml -- 公共依赖

commoninfrastructure 区别

  • common模块:通常包含通用的工具类、异常定义、常量定义等与业务无关的代码。这些代码可以被整个应用程序共享。

    • 通用工具类,比如日期处理、字符串处理等
    • 通用异常定义,比如业务异常、参数校验异常等
    • 通用常量定义,比如状态码、错误信息等
  • infrastructure模块:通常包含与基础设施相关的代码,比如数据库访问、缓存、消息队列、配置管理等。这些代码通常是为了支持业务模块的运行而存在的。

    • 数据访问相关的代码,比如数据库连接、ORM框架配置、数据源配置等
    • 缓存相关的代码,比如缓存配置、缓存管理等
    • 消息队列相关的代码,比如消息生产者、消费者配置等
    • 配置管理相关的代码,比如配置加载、动态配置更新等

对于静态类、工具类、异常定义等,你可以根据其功能和作用来判断放入common还是infrastructure 模块。如果它们是通用的、与业务无关的,可以放入common模块;如果它们是为了支持业务模块的基础设施,可以放入infrastructure模块。

特别鸣谢

开源协议

项目基于 Apache License 2.0 © 2024 Zhuang Pan 协议,仅供学习参考,商业使用请遵循作者版权信息,作者不保证也不承担任何软件的使用风险。