ZEN-SCAFFOLD - 一个基于Spring Boot的微服务脚手架
- 使用SpringBoot系列框架
- Maven构建,微服务各自独立,使用聚合而非继承
- Git版本控制,遵循集团开发流程
- 使用Spring MVC提供REST服务
- 持久层框架使用Spring Data JPA/JDBC
- 数据源默认使用HikariCP
- 使用SpringFox生成API文档
- 提供Swagger-UI可测试API界面
- 提供独立的HTML静态文档生成模块
- logback分别打印-info与-error双日志
- ExceptionHandler统一异常处理
- Hystrix服务融断及降级
- 选用较繁琐的filter方式处理controller日志,可打印response内容
- Feign声明式REST调用
- Service层仅做单元测试(mokito)
- Controller层仅做集成测试(testRestTemplate)
- Lombok简化domain层开发
- 业务无关代码抽离成common模块,多个微服务共享
- 允许不同微服务间的少量业务代码冗余,目的是降低耦合
- 引入DTO层,应对前端及服务间调用
- 使用ModelMapper简化模型属性映射
- 使用PostMan+NewMan做REST接口回归测试
- 同时支持Oracle(开发/测试/生产),MySQL(本地),以及H2(内嵌)
- 集成测试使用H2内存库,以避免数据问题造成的不稳定
- 提供简易Thymeleaf起始页,链接至Hystrix-Dashboard、H2-Console等
- 集成spring-boot-devtools,提高本机WEB调试时的应用重加载速度
- spring-boot-starter-web - MVC集成
- spring-boot-starter-test - 单元测试
- spring-boot-starter-actuator - 应用监控
- spring-boot-configuration-processor - 注解配置
- spring-cloud-starter-hystrix - Hystrix集成
- spring-boot-starter-jdbc - JdbcTemplate集成
- SpringFox - API文档生成
- Maven - 项目构建工具
- Nexus - Maven私服
- Git - 分布式版本控制系统
- IntelliJ IDEA - 可选,推荐的IDE