# Sylvanas **Repository Path**: gnerv_admin/sylvanas ## Basic Information - **Project Name**: Sylvanas - **Description**: We are the forsaken,we will slaughter anyone whostands in our way. For the glory of Sylvanas. - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-19 - **Last Updated**: 2026-02-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sylvanas 项目 ## 项目概览 Sylvanas 是一个基于 Spring Boot 的企业级后端框架,采用模块化设计,包含完整的基础架构支持。项目名称源于《魔兽世界》中的角色,体现了其强大和灵活的特性。 ## 技术栈 - **后端语言**:Java 21 - **核心框架**:Spring Boot 3.x - **构建工具**:Maven - **持久层**:MyBatis - **缓存**:Redis(支持动态数据源) - **前端框架**:React + Vite、Vue 3 + Vite - **API文档**:OpenAPI - **监控**:Actuator - **模板引擎**:Freemarker ## 项目结构 ### 1. 整体架构 项目采用经典的多层架构,清晰地分离了核心框架、功能模块、业务逻辑和UI展示: ``` sylvanas/ ├── sylvanas-framework/ # 核心框架层 ├── sylvanas-module/ # 功能模块层 ├── sylvanas-plugin/ # 插件层 ├── sylvanas-business/ # 业务逻辑层 ├── sylvanas-authentication/ # 认证授权模块 ├── sylvanas-project/ # 主项目 ├── sylvanas-ui/ # 前端UI ├── sylvanas-dependencies/ # 依赖管理 └── zzz/ # 扩展模块和配置 ``` ### 2. 核心模块 #### 框架层 (sylvanas-framework) - **sylvanas-framework-common**:通用工具类和模型 - **sylvanas-framework-core**:核心配置和功能实现 #### 模块层 (sylvanas-module) - **sylvanas-module-redis**:Redis集成,支持动态数据源路由 - **sylvanas-module-mybatis**:MyBatis集成和扩展 - **sylvanas-module-datasource**:数据源管理 - **sylvanas-module-email**:邮件发送功能 - **sylvanas-module-freemarker**:模板引擎支持 #### 插件层 (sylvanas-plugin) - **sylvanas-plugin-cache**:缓存插件 - **sylvanas-plugin-openapi**:API文档生成 - **sylvanas-plugin-actuator**:系统监控 #### UI层 (sylvanas-ui) - **ant-react-vite**:基于Ant Design和React的前端框架 - **element-vue3-vite-template**:基于Element UI和Vue 3的前端框架 - **rabbitmq-management**:RabbitMQ管理界面 ## 主要功能特性 ### 1. Redis动态数据源 Redis模块提供了强大的动态数据源路由功能,支持主从分离和多实例配置: - 支持Redis单机和集群模式 - 提供线程安全的数据源上下文管理 - 集成Lettuce客户端,支持自动拓扑刷新 - 实现了连接状态监听和健康检查 ### 2. 认证与授权 项目包含完整的RBAC(基于角色的访问控制)模型: - 角色、权限、用户关联管理 - 接口级别的权限控制 - 支持多资源服务器架构 ### 3. MyBatis扩展 MyBatis模块提供了增强功能: - 自定义资源处理器 - 数据库产品兼容性支持 - 通用实体映射 ### 4. 系统监控 通过Actuator插件提供系统运行状态监控: - 系统资源使用情况 - 健康检查 - 性能指标收集 ## 代码组织特点 1. **模块化设计**:每个功能组件被拆分为独立模块,便于维护和扩展 2. **自动配置**:大量使用Spring Boot的自动配置特性,简化开发 3. **清晰分层**:严格遵循分层架构,关注点分离 4. **工具类抽象**:将通用功能抽象为工具类,提高代码复用性 5. **统一模型**:提供BaseEntity、BaseDTO等基础模型类 ## 部署与扩展 项目支持多种部署模式: - 单体应用部署 - 微服务架构(通过gateway模块支持) - 提供assembly模块支持打包部署 - 包含部署脚本和配置模板 ## 总结 Sylvanas项目是一个功能完善、架构清晰的企业级后端框架,适合构建各类企业应用。其模块化设计和丰富的功能组件可以大大提高开发效率,同时保持良好的扩展性和维护性。项目包含从前端到后端的完整技术栈支持,能够满足现代企业应用的各种需求。