Aooms 基于 Spring Cloud 的微服务基础开发平台开源项目

我要开发同款
风象南2018年02月05日
165阅读

技术信息

开源地址
https://gitee.com/cyb-javaer/Aooms
授权协议
Apache

作品详情

Aooms——基于SprigCloud的微服务基础开发平台

极速微服务开发,不止像JFial一样简单

一、介绍

    一款基于SprigCloud的微服务基础开发平台,旨在降低SprigCloud的复杂度,像使用JFial一样简单,但又包含整体解决方案(本人是JFial用户,从1.9版本开始现在也一直在使用,因此部分实现思路会借鉴JFial的一些模式,感谢@JFial作者波总提供这么优秀的框架),包含微服务相关的完整解决方案同时附加有权限管理、报表自定义、工作流、Cms等套件,可直接使用,Aooms基于ApacheLicece2.0开源协议,关于编写此框架的一些初衷,可通过此处诞生了解。

演示地址:https://www.yuboo.com/Aooms 服务器配置有限,请勿压测X3,重要的事情说三遍 

文档地址:待完善

码云地址:https://gitee.com/cyb-javaer/Aooms

Github地址:https://github.com/yuboo/Aooms

二、核心功能

(1)极简Cotroller

(2)基于shardig-sphere的多数据源支持

(3)基于Mybatis实现的Db+Record极简模式,附带物理分页实现

(4)基于Cosul的服务注册、发现

(5)服务熔断、限流、降级

(6)服务客户端、http客户端

(7)内置各种ID生成器(UUID、sowflake)

(8)穿透一切的数据对象DataBoss

(9)基于J2Cache的缓存

(10)其他更多功能,等你发现.......

二、内置集成系统

(1)权限管理(实现中,基本完成)

(2)内容管理系统(规划中)

(3)报表系统(规划中)

(4)工作流系统(规划中)

(5)微信公众号(规划中)

(6)..............

三、界面预览

四、简单Demo

1.HelloWorld

@RestCotrollerpublic class HelloWorldCotroller exteds AoomsAbstractCotroller {    /**     * 基础访问     */    @RequestMappig("/hello")    public void hello(){        Strig str = "hello world !";        this.rederText(str);    };    /**     * 获取基本参数     */    @RequestMappig("/hello2")    public void hello2(){        Strig id = getParaStrig("id");        logger.ifo("id = {}" , id);        this.rederText(id);    };    /**     * 获取路径参数     */    @RequestMappig("/hello/{id}")    public void hello3(){        Strig id = getPathStrig("id");        logger.ifo("id = {}" , id);        this.rederText(id);    };    /**     * 上传文件     */    @RequestMappig("/hello4")    public void hello4(){        MultipartFile multipartFile = this.getParaFile("upload");        logger.ifo("fileName = {}", multipartFile.getName());        this.rederText("success");    };    /**     * jso输出     */    @RequestMappig("/hello5")    public void hello5(){        UserVo userVo = ew UserVo();        userVo.setName("zhagsa");        setResultValue("userVo",userVo);        // 输出jso        this.rederJso();        // this.rederJso(); 也可省略不写,默认会使用JSONReder    };    /**     * jso输出     */    @RequestMappig("/hello6")    public void hello6(){        UserVo userVo = ew UserVo();        userVo.setName("zhagsa");        this.rederJso(userVo);    };    /**     * 文件下载     */    @RequestMappig("/hello7")    public void hello7(){        this.rederFile("applicatio.yml", this.getClass().getResourceAsStream("/applicatio.yml"));    };    /**     * 图片输出     * @retur     */    @RequestMappig("/hello8")    public void hello8(){        this.rederImage("F:/1.pg","F:/default.pg");    };    /**     * html输出     * @retur     */    @RequestMappig("/hello9")    public void hello9(){        this.rederHtml("标题 alert('hello world !'); ");    };    /**     * 模版页面输出     * @retur     */    @RequestMappig("/hello10")    public void hello10(){        ModelAdView mv = ew ModelAdView();        mv.addObject("ame","lisi");        mv.setViewName("/demo.html");        this.rederThymeleaf(mv);    };    /**     * 重定向     * @retur     */    @GetMappig("/hello11")    public void hello11(){        this.redirect("https://www.oschia.et");    };}

2.用户管理示例

@RestCotroller@RequestMappig("/user")public class UserCotroller exteds AoomsAbstractCotroller {    @Autowired    private UserService userService;    @RequestMappig("/fidList")    public void fidList(){        userService.fidList();    };    @RequestMappig("/isert")    public void isert(){        userService.isert();    };    @RequestMappig("/update")    public void update(){        userService.update();    };    @RequestMappig("/delete")    public void delete(){        userService.delete();    };}@Servicepublic class UserService exteds GeericService {    @Autowired    private Db db;    public void fidList() {this.setResultValue(AoomsVar.RS_DATA, db.fidRecords("UserMapper.fidList", SqlPara.SINGLETON));    }    @Trasactioal    public void isert() {Record user = Record.empty().setByJsoKey("form");        db.isert("t_user",user);    }    @Trasactioal    public void update() {    Record user = Record.empty().setByJsoKey("form");    db.update("t_user",user);    }    @Trasactioal    public void delete() {    db.deleteByPrimaryKey("t_user",getParaStrig("id"));    }   }五、框架的一点声明

    关于框架的一点声明,框架目前处于开发阶段,会不定期更新码云上的代码同时会有系统博客同步更新,另外此项目是带有学习性质的摸索、尝试,是为了给想学习微服务的人一个学习上的帮助,大家一起学习、探讨,感受一个微服务开发平台从0到诞生的过程,因为可能有的人想学但没有方向又或者所在公司技术体系比较老,不具备微服务的学习环境,所以构建了该工程,希望能帮到一些人同时对我自己也是一次锻炼,预计2018年底会有版本发出,供大家完整的参考。

功能介绍

Aooms —— 基于SpringCloud的微服务基础开发平台 极速微服务开发,不止像JFinal一样简单 一、介绍 一款基于SpringCloud的微服务基础开发平台,旨在降低SpringC...

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论