ZEN-SCAFFOLD - 一个基于Spring Boot的微服务脚手架

概述

ZEN-SCAFFOLD - 一个基于Spring Boot的微服务脚手架

GitHub

https://github.com/xiiiblue/zen-scaffold

特性

  • 使用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 - Spring MVC

  • spring-boot-starter-actuator - 应用监控

  • spring-boot-configuration-processor - 注解配置

  • spring-boot-starter-data-jpa - JPA支持(Hibernate/EclipseLink等)

  • spring-boot-starter-data-jdbc - 原生JDBC支持

  • spring-boot-devtools - 开发环境工具

  • spring-boot-starter-cache - 缓存支持

  • spring-boot-starter-thymeleaf - 前端模版

  • spring-cloud-starter-hystrix - Hystrix集成

  • spring-cloud-starter-hystrix-dashboard - Hystrix监控面版

  • spring-cloud-starter-feign - 声明式REST调用

  • spring-boot-starter-test - 单元/集成测试支持

  • equalsverifier - Equals&HashCode测试

  • SpringFox - API文档生成

  • HikariCP - 数据源

  • lombok - Getter/Setter简化

  • modelmapper - 模型属性映射

  • h2database - 内嵌内存库

开发环境

DevOps

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容