# zoo-framework **Repository Path**: JustryDeng/zoo-framework ## Basic Information - **Project Name**: zoo-framework - **Description**: 本框架旨在提供快速架构的能力;通过DIY架构组件和功能组件,快速架构系统。 简单的说,本框架比spring-boot多一点,比业务框架少一点。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/JustryDeng/zoo-framework - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-08-13 - **Last Updated**: 2025-09-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # zoo-framework - [zoo-framework](#zoo-framework) - [一、项目简介](#一项目简介) - [二、项目结构说明](#二项目结构说明) - [1.项目结构](#1项目结构) - [2.项目架构](#2项目架构) - [三、项目依赖](#三项目依赖) - [五、各组件使用说明](#五各组件使用说明) - [六、项目贡献](#六项目贡献) - [1.如何贡献代码](#1如何贡献代码) - [2.贡献规范](#2贡献规范) - [七、项目许可证](#七项目许可证) - [八、常见问题与解答](#八常见问题与解答) - [1.如何使用本项目](#1如何使用本项目) ## 一、项目简介 本框架旨在提供快速架构的能力;通DIY架构组件和功能组件,快速架构系统。 简单的说,本框架比spring-boot多一点,比业务框架少一点 项目起名为zoo,是因为作者希望项目像动物园一样,各个动物分别都有自己的展台,需要什么动物就引进什么动物,想怎么安置动物就怎么安置动物,给动物园园长充足自发挥空间 ## 二、项目结构说明 ### 1.项目结构 ```txt zoo-framework ├─zoo-common-base # 基础包,放置一些组件间通用或可能会共同引用到的类 ├─zoo-diy-artifact # 架构级组件,通过DIY搭配各种artifact组件,搭建系统基础架构 │ ├─zoo-diy-artifact-xxx ├─zoo-diy-feature # 功能级组件,通过DIY搭配各种feature组件,搭建系统基础功能 │ ├─zoo-diy-feature-api # feature组件的门面接口,业务开发时使用此接口操作(不关注具体实现),这样一来后续要更换实现的话无需改动(或少改动)业务代码 │ │ ├─zoo-diy-feature-xxx │ │ ├─zoo-diy-feature-yyy │ └─zoo-diy-feature-impl # feature组件的功能实现,与api是多对一的关系(后续会规划对impl的热替换,业务代码中请勿直接使用impl中的相关类) │ ├─zoo-diy-feature-xxx-by-xxx1 │ ├─zoo-diy-feature-xxx-by-xxx2 │ ├─zoo-diy-feature-yyy-by-yyy1 │ ├─zoo-diy-feature-yyy-by-yyy2 └─zoo-foundation # zoo框架底座,对zoo框架做了基础的勾连。你的业务代码可以直接在这上面开发,或者引入此依赖到你的项目中也可 ``` ### 2.项目架构 ![zoo-framework架构图](readme/picture/zoo-framework架构图.png) ## 三、项目依赖 首先引入zoo-framework依赖管理器 ```xml 最新版本 ...... com.idea-aedi.zoo zoo-framework ${zoo-framework.version} pom import ...... ``` 然后再引入需要的组件即可 ```xml ...... com.idea-aedi.zoo zoo-foundation com.idea-aedi.zoo zoo-diy-artifact-openfeign provided ...... ``` ## 五、各组件使用说明 ## 六、项目贡献 ### 1.如何贡献代码 1. Fork 项目仓库。 2. 创建新的分支进行开发。 3. 提交代码并发起 Pull Request。 ### 2.贡献规范 - 遵循阿里巴巴Java开发手册规范。 - 同时在项目[zoo-example](https://gitee.com/JustryDeng/zoo-example)中为新功能添加相应的单元测试或使用测试。 ## 七、项目许可证 本项目使用**Apache-2.0**开源许可协议。 ## 八、常见问题与解答 ### 1.如何使用本项目 - 方式一:在你的自建项目中按需引入需要的相关[zoo-framework组件](https://central.sonatype.com/search?q=g%3Acom.idea-aedi.zoo&smo=true),正常开发即可 优点:需要什么引入什么,可以保证项目的轻盈 缺点:如果想要修改项目的源码,那需要先看明白目标组件的自动装配类(`AutoConfiguration`),然后替换或者重写它,需要一丢丢技术功底 - 方二:下载项目源码,然后直接在基座(`zoo-foundation`)上编写业务代码即可 优点:可以方便的按需修改源码 缺点:zoo-framework框架模块太多(当然你可以按需删除不需要的模块),编译打包要稍微等一会儿