ApiBoot 2.1.5.RELEASE 发布,接口服务落地解决方案
简介
ApiBoot是接口服务的落地解决方案,提供了一系列开箱即用的组件,通过封装来简化主流第三方框架的集成,从而提高开发者开发效率、学习成本、降低入门门槛,真正的实现开箱即用!!!
对SpringBoot简单了解的开发者就可以编写安全稳定的接口服务,可为移动端、网页端等多个端点提供丰富的安全接口。
ApiBoot依赖于SpringBoot,可以使用ApiBoot构建独立的Java应用程序。
2.1.5.RELEASE更新日志
- 新增ApiBoot Alibaba Oss西南成都地域
- 修复ApiBoot Logging与Seata提供的openfeign拦截器冲突问题
- 修复ApiBoot Enhance Codegen生成实体时,不创建codegen.setting.json文件抛出异常问题
- 升级SpringBoot为2.1.9.RELEASE
- 修改ApiBoot DataSource Switch多线程切换为Deque方式
- 修改框架源码描述
- 修复ReadMe公众号不显示问题
- 修复Banner输出版本错误问题
文档 & 源码
ApiBoot 官网文档:http://apiboot.minbox.io
源码地址:https://gitee.com/minbox-projects/api-boot
安装 & 入门
组件的使用请查看官方参考文档,开始使用请访问第一个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开源框架,提供零侵入式分布式链路日志分析框架的使用,可应用到SpringCloud微服务应用内,提供Admin端点进行采集日志、分析日志、日志告警通知、服务性能分析等。通过Admin Ui可查看实时链路日志信息、在线业务服务列表。
安全组件
内部通过整合SpringSecurity + OAuth2两大常用资源安全、认证授权框架来保证接口服务的安全性,内存方式只需要添加几行配置就可以完成整合,ApiBoot针对SpringSecurity提供了两种查询用户的方式:memory(内存)、jdbc(数据库)。而针对OAuth2则提供了三种方式存储生成后的Token以及Client信息:memory、jdbc、redis等。
可以直接配置使用JWT格式化OAuth2生成的Token.
接口文档组件
通过集成 Swagger2
来完成文档的侵入式生成,侵入式文档后期会被替代, ApiBootSecurityOauth
已默认排除 swagger2
相关的资源路径(如果自定义集成了OAuth2或者SpringSecurity需要手动排除Swagger资源路径)。
ORM组件(数据库持久化组件)
ApiBoot通过封装Mybatis提供了一款吸取JPA、Mybatis、QueryDSL等主流ORM框架的优点整合框架mybatis-enhance,内部提供了常用CRUD方法,无需编写一行SQL就可以完成对数据的持久化操作,提供方法命名规则查询、动态查询等新特性。
代码生成组件
ApiBoot为mybatis-enhance提供了专门定制代码生成插件,可为数据库表对应生成数据实体生成、动态查询实体,mybatis-enhance-codegen是一款Maven Plugin,配置数据库链接信息后可根据配置过滤指定的表、全部表、指定前缀的表进行生成。
多数据源组件
ApiBoot针对多数据源切换的场景提供了自动化切换的方式,内部提供了两种数据源类型的配置实现,分别是:Druid、HikariCP,通过在类、方法上配置注解的方式切面自动切换为配置数据源,如未配置则使用默认的数据源。
自动分页组件
ApiBoot针对Mybatis持久化框架的使用者提供了自动化分页的插件mybatis-pageable,这是一款基于Mybatis Plugin实现的插件,根据传递的分页参数可以自动查询出分页信息,如:总页数、每页条数、当前页码、是否存在上一页、下一页等。
支持主流的12种数据库。
限流组件
ApiBoot针对单应用、分布式集群应用分别提供了一种限流的方式,针对单应用提供了Google的令牌桶方式限流,而针对服务集群环境提供了Redis Lua方式。
限流配置秒级QPS访问量。
阿里云OSS组件
集成阿里云OSS提供的SDK来完成文件的上传、下载等方法实现,开箱即用。
阿里云短信组件
集成阿里云提供的SMS服务,简单配置即可完成短信发送,覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。
阿里云邮件组件
集成阿里云提供的Mail服务,简单配置后,通过ApiBoot提供的封装类几行代码就可以完成邮件发送。
示例
ApiBoot提供了每一个组件的使用示例,在源码api-boot-samples目录下根据组件名归类。
使用指南
请访问作者博客恒宇少年De成长之路获取ApiBoot、MinBox开源组织内开源框架的最新的使用指南。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
[每日短篇] 24 - HTTPS 和 SSL 自签名证书的现代知识
今天因故需要测试 SSL 自签名证书,在翻阅资料时发现中文社区介绍 HTTPS 和 SSL 证书的网帖不仅陈旧而且存在不少同源的错误,一旦错误内容到处都是就容易被人当成正确的,所以写一篇帖子更新一下现代知识和更正一些错误观点。现在是 2019-11-06,如果很久以后看到这篇帖子,其中与协议版本、密钥强度相关的内容已经过时了,请注意识别。 关于 HTTPS HTTPS 是 HTTP 的扩展,重点解决传输安全的问题,以前是 HTTP over SSL,新的是 HTTP over TLS。需要注意的是 HTTPS 解决的是传输安全,防范窃听、中间人攻击之类的,不解决两端的安全问题,见过一些系统中试图用 HTTPS 解决防客户端破解的问题,实际上是没有任何用处的。 一般场景下只有客户端验证服务器的证书,客户端不向服务器提供证书。对安全性要求特别高又高不到需要额外硬件支持的时候,还可以双向验证证书,比如早期的网银、支付宝会需要申请数字证书,自己下载安装之后,登录时需要向服务器提供证书验证客户端身份。 关于 SSL 和 TLS SSL 和 TLS 也有多个版本,按照 Google、Mozilla...
- 下一篇
node.js 13.1.0 发布
显著变化 cli: 添加了一个新标志(--trace-uncaught),该标志使Node.js 在引发未捕获的异常时(而不是在创建Error对象时,如果有的话)打印堆栈跟踪。默认情况下禁用此功能, 因为它会影响GC行为(Anna Henningsen)#30025。 加密: 新增Hash.prototype.copy()方法。它返回一个新Hash对象, 其内部状态从原始对象(Ben Noordhuis)#29910中克隆。 dgram: 添加了特定于源的多播支持。这会将函数添加到 sockets数据中,以支持针对IPv4和IPv6的RFC 4607 (Lucas Pardue)#15735。 fs: 为添加了一个bufferSize选项fs.opendir()。它允许控制从 目录中读取时在内部缓冲的条目的数量(Anna Henningsen)#30114。 其他64个不显著的更新: [445837851b] -async_hooks: only emitafterfor AsyncResource if stack not empty (Anna Henningsen)#30087...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装