# 项目架构 ## 概述 本项目是一个基于 Spring Boot 的多模块 Maven 项目,采用分层架构设计,旨在提供一个可扩展和可维护的应用程序结构。项目使用 Java 21 版本,并集成了 Spring Security、MyBatis 等主流框架。 ## 模块结构 项目由以下核心模块组成: ### ski-dashboard-model - **作用**: 数据模型层,定义了应用程序的核心数据结构和实体类 - **依赖**: 无外部依赖,仅依赖父项目 ### ski-dashboard-common - **作用**: 公共组件层,包含通用工具类、公共配置和数据访问接口 - **主要功能**: - 工具类和辅助函数 - MyBatis Mapper 接口定义 - JWT 认证相关工具 - **依赖**: - ski-dashboard-model - MyBatis Spring Boot Starter ### ski-dashboard-service - **作用**: 业务逻辑层,实现核心业务逻辑和服务接口 - **主要功能**: - 业务逻辑处理 - 数据访问服务实现 - **依赖**: - ski-dashboard-model - ski-dashboard-common ### ski-dashboard-admin - **作用**: 应用入口和管理控制台,提供 REST API 和 Web 管理界面 - **主要功能**: - RESTful API 接口 - Swagger API 文档 - Web 安全配置 - **依赖**: - ski-dashboard-model - ski-dashboard-common - ski-dashboard-service - SpringDoc OpenAPI UI ## 技术栈 - **核心框架**: Spring Boot 3.5.7 - **编程语言**: Java 21 - **安全框架**: Spring Security - **Web 框架**: Spring Web MVC - **持久层框架**: MyBatis - **数据库**: PostgreSQL - **会话管理**: Spring Session JDBC - **API 文档**: SpringDoc OpenAPI - **JWT 认证**: java-jwt 4.4.0 - **构建工具**: Maven - **代码简化**: Lombok ## 架构特点 1. **分层架构**: 清晰分离数据模型、公共组件、业务逻辑和应用入口 2. **模块化设计**: 各模块职责明确,便于独立开发和维护 3. **松耦合**: 模块间通过接口依赖,降低耦合度 4. **可扩展性**: 易于添加新功能模块或替换现有组件 5. **安全性**: 集成 Spring Security 和 JWT 实现认证授权