ApiBoot 0.1.1.RELEASE 版本发布!!!

栏目: 软件资讯 · 发布时间: 6年前

内容简介:ApiBoot是一款基于 SpringBoot2.x的接口服务集成基础框架,内部提供了框架的封装集成,让接口开发者完成开箱即用,不再为搭建接口框架而犯愁,从而极大的提高开发效率。 通过在我的 SpringBoot系列教程中得到的学...

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 Security:Spring提供的安全框架,Spring家族式的设计,无缝整合SpringBoot
  • OAuth2:OAuth是一个网络授权的标准。
  • JWT:JSON Web Token是目前流行的跨域认证解决方案,用于格式化OAuth2生成的Token。
  • Swagger2:Swagger是一款API文档生成工具,自动扫描代码进行生成可运行测试的文档。
  • Mybatis Enhance: Enhance是对于原生的 MyBatis的增强编写,不影响任何原生的使用,使用后完全替代 mybatis-core、 mybatis-spring以及 mybatis-spring-boot-starter,可以使用 SpringBoot配置文件的形式进行配置相关的内容,尽可能强大的方便快速的集成 MyBatis
  • Mybatis Pageable: MyBatis-Pageable是一款自动化分页的插件,基于 MyBatis内部的插件 Interceptor拦截器编写完成,拦截 Executor.query的两个重载方法计算出分页的信息以及根据配置的数据库 Dialect自动执行不同的查询语句完成总数量的统计。
  • Code Builder: 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。

开源交流

社区交流

恒宇少年邮件

jnyuqy@gmail.com

项目结构


 
  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开源许可。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Writing Apache Modules with Perl and C

Writing Apache Modules with Perl and C

Lincoln Stein、Doug MacEachern / O'Reilly Media, Inc. / 1999-03 / USD 39.95

Apache is the most popular Web server on the Internet because it is free, reliable, and extensible. The availability of the source code and the modular design of Apache makes it possible to extend Web......一起来看看 《Writing Apache Modules with Perl and C》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具