快嘉后台脚手架
项目简介
快嘉后台脚手架是一个面向变化的前后端分离架构应用模型的最小开发实践,它提供了一个基于VUE实现的管理端,后台接口使用Java实现,数据库采用h2,该脚手架已经提供了登录/登出、用户管理等基础功能。
快嘉后台脚手架基于maven多模块架构,通过将模版代码、业务代码、技术代码分离在不同模块,让代码生成技术无缝融合到开发者的日常开发过程中,让开发者基本做到无感开发。
该脚手架还集成了自动化测试、testng、容器化等支持,可以帮助开发者快速启动新项目,提高研发效率。
技术栈
- vue
- element-ui(Vue Admin Template)
- jdk1.8+
- spring boot 2.2.4
- spring security 5.2.3
- mybatis3.5.7
- h2
- testng
- jacoco
- docker
特性
- 前后端分离架构
- 基于maven插件的接口代码生成技术
- 基于swagger和knife4j的接口文档服务器
- 基于testng+h2的单元测试实践
- 集成spring-security
- 容器化支持
- 前端后台一体化镜像
- 集成4条jenkins流水线:自动测试、demo-admin、demo-server和demo-all镜像制作流水线
快嘉后台脚手架由如下几个模块组成:
-
交付模块
- demo-admin:管理端模块(Vue)
- demo-server:后台接口模块(Java)
-
业务模块
- demo-base:使用mybatis generator生成的mybatis注解方式代码(根据sql文件生成)
- demo-bundle:使用快嘉代码生成插件生成controller、service、相关dto和vo的代码(根据接口定义文件生成)
- demo-biz.:业务模块,依赖base和bundle模块,除了bundle中service的实现会集中在这个模块,还包括一些没有定义在接口和任务层面的service及其实现;此外还包括一些工具类、与其他第三方的通信类、自定义的持久层访问类,错误码常量等
- demo-security:实现登录、登出
-
开发辅助模块
- demo-jacoco-report:聚合覆盖率测试报告模块
- demo-bundle-mock:基本同demo-mock,只是代码都是带swagger-ui标签的
- demo-mock-server:依赖demo-bundle-mock,基于swagger-ui的接口文档文件服务器
-
其他
- demo-api.xml:接口定义文件
- demo.sql:数据库定义文件
- demo-init.sql:数据库初始化脚本文件
- Dockerfile: 镜像定义文件
- 接口列表.md