随笔分类 - Spring Cloud分布式微服务实战,养成应对复杂业务的综合技术能力 笔记
摘要:Mongodb的应用场景 mongodb使用的场景一般都可以redis替代 因为内存比较贵 贫穷就可以使用mongodb了 环境搭建 导入依赖 <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-m
阅读全文
摘要:步骤 一. 首先判断前端参数是否传入正确 和之前一样 若参数不合法则将异常抛出 public class FaceLoginBO { @NotBlank private String img64; @NotBlank private String username; public String ge
阅读全文
摘要:spring boot 整合mogodb 步骤: 很简单 分三部 导包 在application.yml 中配置mongodb的连接信息 编写GridFSBucket bean GridFSBucket用于操作文件 步骤一 查看官方文档 按官方文档导入包即可 https://docs.mongodb
阅读全文
摘要:首先根据自己的系统下载MongoDB: https://www.mongodb.com/try/download/community 解压并配置profile并使用sources命令刷新profile文件 根据配置文件创建数据库目录和日至目录 使用命令 ./mongod -f ../mongodb.
阅读全文
摘要:和之前用户退出登录逻辑基本相同 删cookie 删redis缓存 public GraceJSONResult adminLogout(Long adminId, HttpServletRequest request, HttpServletResponse response) { deleteCo
阅读全文
摘要:根据前端获取的数据封装一个JavaBean public class PageGridResult { // 当前页数 private Long page; // 总页数 private Long total; // 总记录数 private long records; // 每行显示的内容 pri
阅读全文
摘要:创建admin用户有两种方式: 直接使用 密码进行注册 使用人脸进行注册 若使用人脸进行注册 可以不用输入密码 业务流程: 首先判断字段是否有错误 如字段为赋值之类的错误 判断是否有图片base64传入 若无base64传入则表示用户必须使用密码进行登录 校验密码是否为空 校验密码是否和重复输入密码
阅读全文
摘要:注册admin时需要先校验用户名是否唯一 若不唯一则给用户提示 业务流程: 根据用户名查询用户数据 若可以查到则存在 否则则不存在 因为用户注册的时候还有校验用户是否存在 所以在封装一个方法 用于提高代码复用性 @Override public GraceJSONResult adminIsExis
阅读全文
摘要:导入Bcrypt依赖 用于加密解密用户密码 <!-- https://mvnrepository.com/artifact/org.mindrot/jbcrypt --> <dependency> <groupId>org.mindrot</groupId> <artifactId>jbcrypt<
阅读全文
摘要:新建一个properties 永远存储阿里OSS的配置文件信息 因为bucket是可读不可写的 当需要获取岛文件路径时 直接使用host字段 + 文件路径即可读取文件信息 objectname 用于存储文件 aliyun.oss.endpoint = oss-cn-beijing.aliyuncs.
阅读全文
摘要:首先创建一个配置文件用于存储mini服务端配置信息 min.io.endpoint = min.io.accessKey = min.io.secretKey = min.io.bucket = 之后创建一个资源类读取配置文件 @PropertySource 用于寻找要加载properties文件目
阅读全文
摘要:搭建分布式存储系统 在多台服务器上下载Minio 分布式Minio至少需要4个硬盘,使用分布式Minio自动引入了纠删码功能。 然后运行脚本 四个节点 每个节点一个盘 export MINIO_ROOT_USER=root export MINIO_ROOT_PASSWORD=365373011 /
阅读全文
摘要:打印sql语句 在Application.yml 中添加 mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl aop配置 导入依赖 <dependency> <groupId>org.s
阅读全文
摘要:退出登录即删除用户缓存并清除cookie 清除cookie将cookie的存活时间设置为0即可 public GraceJSONResult logout(String userId, HttpServletRequest request, HttpServletResponse response)
阅读全文
摘要:用户只有激活成功才可以发送文章 删除文章等操作 业务逻辑: 从header中取出id 根据id从redis取出用户信息缓存信息 判断是否能从redis中取出用户缓存若未能取出直接拦截 判断用户状态码是否已激活 若未激活 直接拦截 public class UserActiveInterceptor
阅读全文
摘要:若用户未登录 不能进行某些操作 如修改用户信息等 业务思路: 从header中取出userId 和 token 判断token是可以取出userid和token 若未取出则表示未登录 抛出异常并返回 从redis中取出token信息 若未取出表示未登录 判断token是前端传入的token是否和re
阅读全文
摘要:因为用户信息不是经常需要修改的 可以将用户信息存储至Redis中 不但可以减轻数据库的压力 而且可以更快的将用户的数据查询出来 在BaseController中顶一个redis字段用于标识用户信息 protected static final String REDIS_USER_CACHE = "r
阅读全文
摘要:有一些信息在各个页面都会用到 需要封装个VO类 public class AccountBasicInfoVO { private String id; private String nickname; private String face; private Integer activeStatu
阅读全文
摘要:需要用到vo类 业务思路: 判断有无字段空或不合法 执行更新操作 之前在doLogin也使用过判断并显示错误信息 public GraceJSONResult updateUserInfo(UpdateUserBO updateUserBO, BindingResult bindingResult)
阅读全文
摘要:VO (Value Object) 主要对应界面显示的数据对象。对于一个WEB页面,用一个VO对象对应整个界面的值。 简而言之 vo用于想前端展示数据 因为不是所以字段都需要被查出来的 createdTime 和 updateTime 就不需要查询出来 这时候就需要vo了 public class
阅读全文