项目简介
spring cloud+vue项目是一个前后端分离的spring cloud开发脚手架,项目基于spring boot 2.2.2.RELEASE,spring cloud Hoxton.SR3 构建,使用zuul、eureka、hystrix、feign微服务架构体系,spring security 作为安全模块和权限控制,并且项目使用简洁的vue作为前端,非常适合中小企业在此项目上做二次开发(OA,商城等类型项目),也可以当作spring cloud入门项目加以学习。
- 项目后端是自己搭建的一套spring cloud 环境,基于spring cloud zuul + spring security做网关和权限认证,spring boot data jpa 做数据访问层,并实现带条件分页
- 项目前端是用vue做开发的使用第三方的开发框架vue-admin-template,本项目在这基础上做了登录和动态菜单(vue的动态路由)
技术选型
后端:
- spring boot 2.2.2.RELEASE
- spring cloud Hoxton.SR3
- spring security
- zuul、eureka、hystrix、feign
- spring data jpa、mysql
前端:
- vue + vue-router + vuex
- element-ui
部分代码介绍
登录:通过vue前端项目发起登录请求,后端通过spring security 自定义AuthenticationProvider的方式来自定义登录校验规则,spring security可以定义多个AuthenticationProvider来处理不同的登录方式,比如可以定义2个AuthenticationProvider,一个处理短信验证码登录,一个处理用户名密码登录
如图:
具体配置这里不一一讲解,请下载全部源码查看。
项目展示
登录页面
功能页面
项目初衷和后期规划
- 项目初衷:本项目不是一个完整的微服务处理方案,其中有很多功能暂时缺失,开发这个项目本着学习了解微服务开发流程和技术。这个项目主要是帮助那些想开发和学习微服务有无从下手的同学,让他们能更快上手,开箱即用,迅速学习。甚至后面可以直接出一个spring boot 版本的管理平台,这个项目都是一个不错的脚手架工具
- 项目后期计划:
- 添加定时任务模块
- 添加基于jpa单表实体的代码生成器
- 实现Docker+Jenkins自动化部署
- 将spring cloud zuul 一代网关替换为第二代spring cloud gateway网关
因为头条不能发地址所以,要源码的话私信我,我将gitee的仓库地址发给你们,后期也会有github地址,希望大家多多支持。