基于SpringCloud(Hoxton.SR3) + SpringBoot(2.2.6.RELEASE) 的 SaaS型微服务脚手架,具备用户管理、资源权限管理、网关统一鉴权、Xss防跨站攻击、自动代码生成、多存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,非常适合学习使用。核心技术采用Nacos、Fegin、Ribbon、Zuul、Hystrix、JWT Token、Mybatis、SpringBoot、Seata、Nacos、Sentinel、 RabbitMQ、FastDFS等主要框架和中间件。
希望能努力打造一套从 SaaS基础框架 - 分布式微服务架构 - 持续集成 - 系统监测 的解决方案。本项目旨在实现基础能力,不涉及具体业务。
本项目可以通过配置,轻松切换项目的 租户模式。
部署方面, 可以采用以下几种方式:
本代码采用 Intellij IDEA(2018.1 EAP+) 来编写,但源码与具体的 IDE 无关。
PS: Lombok版本过低会导致枚举类型的参数无法正确获取参数,经过调试发现因为版本多低后,导致EnumDeserializer的 Object obj = p.getCurrentValue();取的值为空。
源码以及全部上传完毕: