# Aooms
**Repository Path**: kevin_jd/Aooms
## Basic Information
- **Project Name**: Aooms
- **Description**: [ 极速微服务开发,不止像JFinal一样简单 ]关于框架的一点声明,框架目前处于开发阶段,从0开始,预计2018年底会有版本发出,另外此项目是带有学习性质的摸索、尝试,是为了给想学习微服务的人一些学习上的帮助,配套系列博文:https://my.oschina.net/cccyb?tab=newest&catalogId=5736543
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 116
- **Created**: 2018-12-06
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
.png")
### Aooms —— 基于SpringCloud的微服务基础开发平台
_极速微服务开发,不止像JFinal一样简单_
#### 一、介绍
一款基于SpringCloud的微服务基础开发平台,旨在降低SpringCloud的复杂度,像使用JFinal一样简单,但又包含整体解决方案(本人是JFinal用户,从1.9版本开始现在也一直在使用,因此部分实现思路会借鉴JFinal的一些模式,感谢@JFinal作者波总提供这么优秀的框架),包含微服务相关的完整解决方案同时附加有权限管理、报表自定义、工作流、Cms等套件,可直接使用,Aooms基于Apache Licence 2.0开源协议,关于编写此框架的一些初衷,可通过此处[诞生](https://gitee.com/cyb-javaer/Aooms/wikis/pages)了解。
---
##### 演示地址:https://www.yuboon.com/Aooms _服务器配置有限,请勿压测 X 3,重要的事情说三遍 :smiley: :smiley: :smiley: !!!
##### 文档地址:待完善
##### github地址:https://github.com/yuboon/Aooms
---
#### 二、核心功能
- (1)极简Controller
- (2)基于sharding-sphere的多数据源支持
- (3)基于Mybatis 实现的 Db + Record 极简模式,附带物理分页实现
- (4)基于Consul的服务注册、发现
- (5)服务熔断、限流、降级
- (6)服务客户端、http客户端
- (7)内置各种ID生成器(UUID、snowflake)
- (8)穿透一切的数据对象DataBoss
- (9)基于J2Cache的缓存
- (10) 其他更多功能,等你发现.......
#### 二、内置集成系统
- (1)权限管理 (实现中,基本完成)
- (2)内容管理系统(规划中)
- (3)报表系统(规划中)
- (4)工作流系统(规划中)
- (5)微信公众号(规划中)
- (6)..............
#### 三、界面预览

.png")
.png")
##### _界面基于D2admin实现,感谢D2admin团队_
#### 四、简单Demo
##### 1. Hello World
```
@RestController
public class HelloWorldController extends AoomsAbstractController {
/**
* 基础访问
*/
@RequestMapping("/hello")
public void hello(){
String str = "hello world !";
this.renderText(str);
};
/**
* 获取基本参数
*/
@RequestMapping("/hello2")
public void hello2(){
String id = getParaString("id");
logger.info("id = {}" , id);
this.renderText(id);
};
/**
* 获取路径参数
*/
@RequestMapping("/hello/{id}")
public void hello3(){
String id = getPathString("id");
logger.info("id = {}" , id);
this.renderText(id);
};
/**
* 上传文件
*/
@RequestMapping("/hello4")
public void hello4(){
MultipartFile multipartFile = this.getParaFile("upload");
logger.info("fileName = {}", multipartFile.getName());
this.renderText("success");
};
/**
* json输出
*/
@RequestMapping("/hello5")
public void hello5(){
UserVo userVo = new UserVo();
userVo.setName("zhangsan");
setResultValue("userVo",userVo);
// 输出json
this.renderJson();
// this.renderJson(); 也可省略不写,默认会使用JSONRender
};
/**
* json输出
*/
@RequestMapping("/hello6")
public void hello6(){
UserVo userVo = new UserVo();
userVo.setName("zhangsan");
this.renderJson(userVo);
};
/**
* 文件下载
*/
@RequestMapping("/hello7")
public void hello7(){
this.renderFile("application.yml", this.getClass().getResourceAsStream("/application.yml"));
};
/**
* 图片输出
* @return
*/
@RequestMapping("/hello8")
public void hello8(){
this.renderImage("F:/1.png","F:/default.png");
};
/**
* html输出
* @return
*/
@RequestMapping("/hello9")
public void hello9(){
this.renderHtml("