快嘉框架使用指南

快嘉框架是一个面向变化的J2EE开发模型最小实践,它将一个传统的J2EE单体应用模块化,分成了包括war、批处理等在内的主应用和可被依赖的普通jar独立维护;这个模型利用maven构建,主应用通过spring集成它所依赖的所有jar后可以独立部署、启动,对外提供服务。

快嘉框架将需求迭代过程中最容易变化的数据库持久层面和控制器层面的代码作为模块独立出来,并通过集成快嘉代码生成插件生产代码;一般开发人员只需要维护针对数据库定义和接口分别维护sql文件和xml文件,就可以通过快嘉代码生成插件迅速获得这部分模块代码,可以在一定程度上减轻工作量。

快嘉框架将一个标准的J2EE项目划分4类模块如下:

  • 交付模块
    • task:批处理任务,依赖biz模块,目前集成的任务框架是quartz
    • provider:rpc和http服务,依赖biz模块,目前集成的rpc框架是dubbo,http框架是spring mvc,以war包形式发布
    • api:接口相关dto和rpc接口定义(根据接口定义文件生成)
  • 业务模块
    • base:基于mybatis注解使用方式的单表CRUD代码(根据sql文件生成)
    • bundle:接口相关dto、 rpc接口定义及实现、controller和依赖的service定义(根据接口定义文件生成)
    • biz.:业务模块,依赖base和bundle模块,除了bundle中service的实现会集中在这个模块,还包括一些没有定义在接口和任务层面的service及其实现;此外还包括一些工具类、与其他第三方的通信类、自定义的持久层访问类,错误码常量等
  • 开发辅助模块
    • bundle-mock:接口相关dto、rpc相关接口和实现、controller、依赖的service定义及service的简单mock,这里的dto、 controller 都是带swagger-ui标签的,此外,对于rpc相关接口,也提供了带swagger-ui标签的controller (根据接口定义文件生成)
    • provider-mock: rpc服务和http服务,依赖bundle-mock模块,目前集成的rpc框架是dubbo,http框架是spring mvc,以war包形式发布,可作为接口文档服务器和联调服务使用
  • 测试模块
    • test:单元测试模块、依赖biz、base和bundle,基于testng框架实现,
    • api-test: 接口测试模块,接口相关dto、 rpc相关接口定义及通信类(根据接口定义文件生成)

该框架基于spring4+mybatis3.3.0搭建,持久层为mysql,示例demo完整实现了注册、登录和自动登录接口,具体业务逻辑可参考demo-biz模块。

具体接口参见快嘉框架接口说明

安装基础环境

准备windows开发环境

下载demo

生成代码
#以下操作需要在git bash中执行
cd ~/workshop/gitee
git clone https://gitee.com/fastjrun/demo.git
cd demo
git checkout v2.0
sh build.sh package_ci

备注: 如果没有配置私服,且第一次用maven,可能会比较慢,而且会容易被中断,多试几次,直到你看到以上步骤全部OK。推荐用私服

部署demo_provider和demo_task

  • 安装tomcat后,tomcat目录为~/server/tomcat8
  • 配置~/server/tomcat8/conf/server.xml服务端口为8082
  • 新建目录~/app/demo
#以下操作需要在git bash中执行
cd ~/workshop/gitee
git clone https://gitee.com/fastjrun/demo.git
cd demo
git checkout v2.0
sh build.sh package_provider local
sh build.sh package_task local

启动demo_provider和demo_task

  • 打开cmd窗口,切到目录 ~/app/demo/demo-task;双击startup.sh,启动批处理任务和监听task
  • 资源浏览器打开 ~/server/tomcat8/bin;双击startup.sh,启动tomcat

验证

{"email":"test3@sohu.com","loginId":"test3","loginpwd":"22222","mobileNo":"199222336453","nickName":"走2","sex":"1"}
  • 如果没啥意外,响应报文应该如下
  • 此时观察打开的demo-task窗口,可以看到日志如下
  • 表明demo-task也验证成功。

代码生成服务能力

  • demo.sql变更后,demo-base会重新生成源码,主要是单表对应的javabean和基于单表的增删改查操作类
  • demo_api.xml维护了接口定义、输入参数定义、返回参数定义,接口业务和批处理作业业务定义,对应这部分的代码会在demo-bundle、demo-bundle-mock、demo-api、demo-api-test模块生成

转载于:https://my.oschina.net/fastjrun/blog/1633139

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值