ApiBoot为接口服务而生,基于SpringBoot完成扩展、自动化配置,通过封装一系列Starter来让调用者快速集成组件,降低学习、使用门槛,提高开发效率,点击右上角Star关注项目更新。
基于新一代接口服务框架 “ApiBoot” 的前后分离管理平台基础解决方案脚手架示例
ApiBoot开源框架内的各个组件使用系列文章示例源码
分布式零侵入式、链路式请求日志分析框架。提供Admin端点进行采集日志、分析日志、日志告警通知、服务性能分析等。通过Admin Ui可查看实时链路日志信息、在线业务服务列表,点击右上角Star关注项目更新。
基于`Redis`实现的分布式消息顺序消费管道。
ApiBoot是接口服务的落地解决方案,提供了一系列开箱即用的组件,通过封装来简化主流第三方框架的集成,从而提高开发者开发效率、学习成本、降低入门门槛,真正的实现开箱即用!!!
对SpringBoot简单了解的开发者就可以编写安全稳定的接口服务,可为移动端、网页端等多个端点提供丰富的安全接口。
ApiBoot依赖于SpringBoot,可以使用ApiBoot构建独立的Java应用程序。
愿景:
组件的使用请查看官方参考文档,开始使用请访问第一个ApiBoot应用程序
如果你是使用Maven
来构建项目,你需要添加ApiBoot
的固化版本依赖到你的pom.xml
文件内,如下所示:
<dependencyManagement>
<dependencies>
<!--ApiBoot版本依赖-->
<dependency>
<groupId>org.minbox.framework</groupId>
<artifactId>api-boot-dependencies</artifactId>
<version>${lastVersion}</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
注意:lastVersion需要替换为最新的ApiBoot版本,请访问版本依赖 - 2.获取最新的ApiBoot依赖查看。
版本依赖添加完成后,我们接下来就可以进行添加项目内所需要的ApiBoot组件,下面是使用分布式链路组件minbox-logging示例:
<dependencies>
<!--ApiBoot MinBox Logging-->
<dependency>
<groupId>org.minbox.framework</groupId>
<artifactId>api-boot-starter-logging</artifactId>
</dependency>
</dependencies>
添加完组件我们就可以根据官方参考文档找到对应组件的文档进行配置使用了。
作者针对每一个组件都提供了一系列的文章进行讲解,请访问 ApiBoot开源框架各个组件的系列使用文章汇总 进行学习。
如果在使用ApiBoot的过程中遇到了问题,你可以通过以下途径获取帮助!
每个人可能提出的问题不同,不过也会有一些相同的问题,如果您要提出问题,请遵循以下建议:
ApiBoot正式版本都会发布到Maven Center,如果你想使用源码最新版本的ApiBoot(版本并未发布),可以直接通过源码的方式进行构建安装到本地使用,前提条件如下所示:
# 下载master分支源码到本地
➜ git clone https://github.com/minbox-projects/api-boot.git
# 进入api-boot源码根目录
➜ cd api-boot
# 执行安装
➜ mvn clean install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dgpg.skip
ApiBoot
的源码构建使用到了多个模块,下面是一个快速概述:
api-boot
模块是编译整个项目的根目录,所提供的能力如下所示:
revision
的配置flatten
、cobertura
...)Maven
仓库配置api-boot-autoconfigure
是最为主要的核心模块,内部提供了全部组件的自动化配置类
,这一点完全是利用SpringBoot
所提供的条件判断注解,位于resources/META-INF
目录下还提供了附加的配置参数元数据定义内容文件:additional-spring-configuration-metadata.json
,项目启用时我们所看到的banner
输出内容也位于该模块中。
该模块的功能与spring-boot-dependencies
一致,都是为了固化项目中所使用的依赖版本号,让我们在构建项目中可以很好地对某一个依赖进行升级,不再担心各个依赖之间版本不兼容的困扰。
该模块继承自api-boot-dependencies
,可直接使用固化版本后的依赖,是构建其他模块的统一父依赖。
该模块下定义了开发过程中具体使用的Starter
依赖,Starter
依赖内不包含任何的框架代码,只有一个pom.xml
文件,具体的自动化配置实现以及具体集成第三方的实现分别位于:api-boot-autoconfigure
、api-boot-plugins
模块内。
使用方式与spring-boot-starter-xxx
一致,比如:在项目中集成限流组件,我们只需要在pom.xml
中添加api-boot-starter-rate-limiter
依赖即可,版本也无需添加,因为已经通过api-boot-dependencies
模块进行了固化版本依赖。
该模块会定义一些常用到的工具类,比如:ApplicationContext
、BeanFactory
等。
该模块同样是由api-boot-autoconfigure
进行自动化配置,将部分工具类自动注册到IOC
。
项目源码中api-boot-samples
模块提供了各个组件的使用示例,也可以结合我博客文章来学习使用,详情请访问:ApiBoot基础教程。
项目名称 | 作者 | 项目地址 |
---|---|---|
分布式链路日志开源框架 | 恒宇少年 | https://gitee.com/minbox-projects/minbox-logging |
SpringBoot_v2 | bdj | https://gitee.com/bdj/SpringBoot_v2 |
Pear Admin Layui | 就眠仪式 | https://gitee.com/Jmysy/Pear-Admin-Layui |
ApiBoot采用Apache2开源许可进行编写。