pring boot技术分享
该demo为个人进入新公司独立完成的第一个项目(投名状),后续公司项目均按照该模式进行开发。
一、系统架构简介
1、本平台采用当前比较流程的spring boot技术
2、项目包括API提供者,API使用者,数据库和网关四部分
3、本项目主要包括拥有网关的管理和API使用者的角色
4、项目将提供可参考的架构图进行
demo架构图例:
二、spring boot技术简介
技术优势
1.去除了大量的xml配置文件
2.简化复杂的依赖管理
3.配合各种starter使用,基本上可以做到自动化配置
4.快速启动容器
5. 配合Maven或Gradle等构件工具打成Jar包后,Java -jar 进行部署运行
spring boot组件参考地址:
spring boot组件文档
三、路由网关
路由网关主要用于将不同平台提供的API用同样的地址映射出去,被外部调用。调用者无需知道API提供者的信息,提供者也无需与调用者对接。
网关管理图例:
四、JWT token
1、通过用户名和密码获取token
2、用户可用选择使用用户名密码登录或者使用token登录
3、使用token登录时,需要校验token的时效性和合法性
4、token过期后需要刷新token才能再次使用
JWT的优点
1、因为JSON数据格式的通用性,所以JWT是可以跨语言的,主流语言都可以支持。
2、payload(有效数据如用户信息)部分可以存储其他业务逻辑所必要的非敏感信息。
3、JWT构成简单,字节占用很小,所以非常便于传输的。
4、不需要在服务端保存会话信息,易于应用的扩展和安全等。