本项目构建于Spring Cloud框架之上,采用OAuth2.0协议实现安全认证与权限管理,为企业级应用提供高效、灵活的身份验证解决方案。
在整理同学们的需求过程中,我们发现迫切需要一个小型且专业的微服务系统。该系统全面兼容Spring Cloud的最新GA版本(Spring Boot 2.0.8.RELEASE、Spring Cloud Finchley.SR2)以及Spring Security OAuth21。
为了减少中间件依赖,本项目仅需MySQL和Redis两个数据库即可运行,并提供傻瓜式部署方案以降低上手难度。此外,系统支持常见的容器环境,默认包括Docker Compose的配置文件,同时也提供了Kubernetes脚本的支持。
在网关方面,我们采用了高性能的Spring Cloud Gateway来替代Zuul。同时,在资源服务器部分进行了全面重构并接入OAuth2标准权限管理机制,并深度封装了spring security oauth2框架,使得开发者只需继承提供的封装类即可轻松实现OAuth2认证功能。
ORM层面上,本项目选择了Mybatis Plus 3作为主要的数据访问技术,并使用lambda表达式进行代码优化。此外,在业务逻辑层面也进行了大规模重构工作,采用lambda、stream和lombok等现代Java开发工具和技术来简化编码过程并提高效率。
前端方面,则采用了自研的Avue框架进行全面改造;同时兼容传统的element-ui组件库以供混合模式下使用。该方案能够帮助后端工程师快速上手Vue.js并通过一行代码渲染出基础CRUD操作界面,从而大大减轻了开发人员的工作负担和学习成本。