博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ApiBoot 0.1.1.RELEASE 版本发布!!!
阅读量:5797 次
发布时间:2019-06-18

本文共 3011 字,大约阅读时间需要 10 分钟。

  hot3.png

ApiBoot是一款基于 SpringBoot2.x的接口服务集成基础框架,内部提供了框架的封装集成,让接口开发者完成开箱即用,不再为搭建接口框架而犯愁,从而极大的提高开发效率。 通过在我的 SpringBoot系列教程中得到的学习者的反馈,才决定来封装一套对应我文章的基础框架, ApiBoot内的每一个框架的具体讲解都在文章内进行了详细说明,如果有不明白的可以通过如下途径访问我的文章:

主要功能

  • 服务资源安全 :通过整合 SpringSecurity + Oauth2来完成接口服务的安全性,安全拦截路径内的请求必须携带 请求令牌才可以访问到资源内容,资源内容可配置指定身份、权限访问。
  • 服务授权认证中心:服务授权以及认证是由 Oauth2来担任,通过 password授权模式获取 请求令牌后访问资源服务,一个配置即可开启 Jwt格式化 AccessToken
  • 文档自动生成:通过集成 Swagger2来完成文档的侵入式生成,侵入式文档后期会被替代, ApiBootSecurityOauth已默认排除 swagger2相关的资源路径。
  • 返回JSON格式化:使用阿里巴巴的 FastJson来完成返回 Json字符串的格式化,自动扫描装载自定义的 ValueFilter实现类,用于自定义返回格式化。
  • 数据库ORM框架: mybatis-enhance是一款由我开源的数据库持久化框架,基于 mybatis进行封装编写,可以完成动态查询数据,语法与 SQL语法几乎一致,内置常用方法提供直接调用,支持方法命名规则查询,一个接口方法就可以自动完成查询,不再编写 SQL语句。
  • 自动分页插件: mybatis-pageable是一款由我开源的自动化分页插件,直接摆脱编写 分页代码,仅仅需要传递的分页参数就可以自动进行查询,目前支持主流的12种数据库。
  • 代码生成插件: code-builder是一款由我开源的代码生成插件,直接摆脱实体类的生成,支持自定义 freemarker模板来完成自定义生成类文件,比如: Service、 Controller、 Mapper等。
  • 七牛云资源处理:集成七牛云提供的SDK来完成文件的上传、下载等方法实现,开箱即用。
  • 阿里云OSS资源处理:集成阿里云OSS提供的SDK来完成文件的上传、下载等方法实现,开箱即用。
  • 阿里云短信:集成阿里云提供的SMS服务,简单配置即可完成短信发送,覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

更多功能请参考

组件

  • :Spring提供的安全框架,Spring家族式的设计,无缝整合SpringBoot
  • :OAuth是一个网络授权的标准。
  • :JSON Web Token是目前流行的跨域认证解决方案,用于格式化OAuth2生成的Token。
  • :Swagger是一款API文档生成工具,自动扫描代码进行生成可运行测试的文档。
  • : Enhance是对于原生的 MyBatis的增强编写,不影响任何原生的使用,使用后完全替代 mybatis-core、 mybatis-spring以及 mybatis-spring-boot-starter,可以使用 SpringBoot配置文件的形式进行配置相关的内容,尽可能强大的方便快速的集成 MyBatis
  • : MyBatis-Pageable是一款自动化分页的插件,基于 MyBatis内部的插件 Interceptor拦截器编写完成,拦截 Executor.query的两个重载方法计算出分页的信息以及根据配置的数据库 Dialect自动执行不同的查询语句完成总数量的统计。
  • : code-builder是一款代码生成 maven mojo插件,通过简单的配置就可以完成数据库内 Table转换 Entity或者其他实体类,想怎么生成完全根据你的个人业务逻辑, code-builder尽可能的完善的提供数据库内的一些定义的信息,让你更方便更灵活的来生成 Java文件。

更多组件请参考

怎么使用?

添加版本依赖

在使用 ApiBoot时需要再 pom.xml文件内的 dependencyManagement标签内添加如下配置:

 
  1. <dependencyManagement>
  2. <dependencies>
  3. <dependency>
  4. <groupId>org.minbox.framework</groupId>
  5. <artifactId>api-boot-dependencies</artifactId>
  6. <version>0.1.1.RELEASE</version>
  7. <type>pom</type>
  8. <scope>import</scope>
  9. </dependency>
  10. </dependencies>
  11. </dependencyManagement>

由于 ApiBoot内后期规划集成的内容比较多,所以根据了 SpringBoot的版本规划来进行了管理维护,这样在添加使用 ApiBoot的依赖时就不再需要添加 版本号,统一交由 api-boot-dependencies进行管理。

注意:该版本默认添加了 spring-boot-dependencies依赖。

使用Demo

ApiBoot会为每一个依赖提供一个演示代码集成子项目,都在 api-boot-samples项目下,为了更好地解释 ApiBoot的每一个依赖功能,恒宇少年会在每一个 sample下添加当前项目的 readme进行详细介绍。

Demo列表:

版本管理规范

项目的版本号格式为 x.x.x 的形式,其中 x 的数值类型为数字,从 0 开始取值,且不限于 0~9 这个范围。

项目目前处于在集成第三方框架阶段,第一位版本号统一使用0,如:0.x.x。

第三方框架集成阶段,版本升级如下所示:

  • 小版本升级会增加第三位版本号的数值,如:0.1.0的小版本升级为:0.1.1。

  • 大版本升级会增加第二位版本号的数值,如:0.1.0的大版本升级为:0.2.0。

开源交流

社区交流

恒宇少年邮件

项目结构

 
  1. . api-boot
  2. ├── api-boot-projects
  3. │ ├── api-boot-autoconfigure
  4. │ ├── api-boot-common
  5. │ ├── api-boot-dependencies
  6. │ ├── api-boot-parent
  7. │ └── api-boot-starters
  8. ├── api-boot-samples
  9. │ ├── api-boot-sample-http-converter
  10. │ ├── api-boot-sample-security-oauth-jwt
  11. │ └── api-boot-sample-swagger
  12. └── tools

ApiBoot集成框架相关的代码实现都在 org.minbox.framework.api.boot.framework目录下,如果你需要编写自己的业务尽可能的在 framework的同级目录创建 package来进行编写, ApiBoot默认扫描 org.minbox.framework.api.boot目录下的所有类。

开源许可

ApiBoot采用 Apache2开源许可。

转载地址:http://zasfx.baihongyu.com/

你可能感兴趣的文章
【ros】Create a ROS package:package dependencies报错
查看>>
从内积的观点来看线性方程组
查看>>
kali linux 更新问题
查看>>
HDU1576 A/B【扩展欧几里得算法】
查看>>
廖雪峰javascript教程学习记录
查看>>
WebApi系列~目录
查看>>
限制CheckBoxList控件只能单选
查看>>
Java访问文件夹中文件的递归遍历代码Demo
查看>>
项目笔记:测试类的编写
查看>>
如何迅速分析出系统CPU的瓶颈在哪里?
查看>>
通过容器编排和服务网格来改进Java微服务的可测性
查看>>
re:Invent解读:没想到你是这样的AWS
查看>>
PyTips 0x02 - Python 中的函数式编程
查看>>
阿里云安全肖力:安全基础建设是企业数字化转型的基石 ...
查看>>
使用《Deep Image Prior》来做图像复原
查看>>
如何用纯 CSS 为母亲节创作一颗像素画风格的爱心
查看>>
Linux基础命令---rmdir
查看>>
阿里云胡晓明:未来将探索区块链在工业互联网领域的应用
查看>>
优秀程序员共有的7种优秀编程习惯
查看>>
iOS sqlite3(数据库)
查看>>