该项目基于SpringCloud开发,该项目共有网关微服务、账单微服务、家庭微服务、用户微服务、图片资源微服务、消息微服务、家庭关系微服务等模块和一个VUE前端项目。 实现了一个简单的家庭账单系统。 能实现对家庭成员账单的记录和统计、家庭成员和普通用户管理。
登录模块,数据库中的密码是密文存储,使用的加密算法是Spring Security的Bcrypt,为了保证密码的安全性,我选择给密码加盐,增加了密码被破解的难度。
注册模块,用户在前端填写用户信息,后端在处理有用户图片上传时时还要使用Ribbon+RestTemplate远程调用图片资源微服务,为用户添加图片关系。
验证码生成模块,验证的生成使用了char数组随机截取四位的方式生成密码,然后使用redis的String数据结构以手机号为Key,验证码为Value的方式存储在redis中。
邮箱发送模块,使用了Spring Boot Mail实现了邮件发送功能。
密码修改模块,使用了邮箱模块和验证码模块,实现用户密码的修改。
用户更新和用户注册类似,只是使用的SQL语句略有不同,查询模块由于其他微服务需要,有不同功能的接口,比如批量查询,模糊查询和嵌套查询用户信息,和远程调用其他服务的接口如图片资源微服务的查询用户图像URL的接口。
网关路由模块:本项目使用了Nacos实现对微服务的注册发现和管理,本项目使用两种网关路由配置方式,一种是项目内的yml配置方式,另一种是从Nacos中读取路由配置的方式。
网关限流和降级模块,使用了Sentinel中间件,其中的限流和熔断策略都能在Sentinel客户端中进行配置和管理。日志模块使用了,SpringBoot的LogBack实现日志记录。Token生成。
...
1、使用的Nacos、Nginx、Sentinel、Redis中间件需安装到本地或使用特定服务器。 2、数据库文件位置位于account子工程下的sql文件夹中,每个SQL文件对应一个数据库(分库)。
SpringCloud、SpringBoot+Mybatis+Mysql、SpringBoot-Mail、Mybatis-Generator、MapStruct、Dozer、Pag eHelper、Validator、OpenFeign、EasyPOI、JWT、Logback、Nacos、Sentinel、Nginx、Redis
如有您发现有图片资源侵权等行为请为我留言,本人将及时改正。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。