关于企业级应用新建时需要注意的事项

  1. 配置mybatis
    配置mybatis的步骤如下:
  2. 配置mybatis依赖,包括starter、MySQL
  3. 配置application.properties。spring项目绝大多数的配置只需要写在application.properties中即可。spring主张0xml配置,与很多框架合作,将配置文件集成到一个文件中了
  4. 编写mapperTest,尝试连接数据库。 尝试成功。

image

  1. 设计数据库
  2. 一个登录用的账号密码表
  3. 一个用户信息表
  4. 一个token相关表
    各个表之间按照用户自增ID进行关联。
    提问:所有表都将用户的自增ID用作主键吗?在什么时候可以什么时候不可以。
    修改:应该各个表都有自己的主键,方便扩展?用户自增id应该用作外键? 答:我们目前的设计是这样的。

现在到了导入数据环节,可恶的xlsx数据竟然不支持数据库一键导入,并且xlsx文件是整个数据的整合,没有办法导入到两个表中去...
尝试改为csv看一看数据库是否可以给予更好的支持。

好的,导入过程中,现在遇到了另一个问题:给我的密码是明文密码,再导入过程中需要进行加密...
所以还是要模拟若干次的注册操作。

首先还是要逐行对csv文件进行脚本操作。让我先研究研究commonCSV...
在使用过程中读取各字段值时出现乱码,猜测是因为csv默认支持英文,不支持中文,所以尝试更在file reader的字符集。
好的现在解决了,使用GBK字符集即可正常显示内容了
还学会了一种新的语法格式try(){}catch{} 在()内写reader 和 parser的定义可以不用手动的管理关闭资源。get it

下一步模拟伪注册函数,对现有的用户进行批量注册。
在建立用户实体与数据库表之间的映射时又出现了新的问题:数据库表的字段也不少,挨个添加到代码中实在有些耗时,有没有什么办法可以直接从数据库表生成实体类?
有的,该技术名字叫JPA 即 java persistent API 专门用于将java对象与数据表进行绑定,正好用到其中的功能。直接将IDEA 的database连接到数据库,右键选中的表,第一项就是"create JPA entity..."

好的,现在连接到数据库了,可以尝试编写密码加密算法
不过在这之前,我要先学习一下API fox的文档书写,抓紧时间写出一份接口文档给测试和前端,方便调用
3. 设计接口
坏了,现在问题来了,前端在登陆的时候我应该获取到什么数据,才能达到:

  1. 用户登录鉴权
  2. 用户自动登录,在一定时间内,用户刷新界面或者新建窗口之后不需要再重新进行登录
  3. 程序安全防护,避免将用户id直接返回给前端,而是通过用户当前环境进行判断。
    选用的方案是:长短期令牌
    长期的刷新令牌存进http-only的cookie中,由浏览器进行管理,短期的主Token发送给前端,每次请求时放在请求头中
    刷新令牌有效,主令牌失效则前端自动申请新的主token
    当刷新令牌还有一半时间失效时,前端自动申请

我去,完蛋了,长短期令牌还需要把刷新令牌放到redis里面,工作量陡增...
现在我要想办法引入redis数据库了。

蒙蔽了蒙蔽了...
长短期令牌鉴权写完了,现在进行测试。
验证进入没有问题,获取传奇排行榜的操作也写完了
下一步进行长短期令牌的刷新操作
当短期令牌过期时,会反馈给前端,前端自动进行重新获取的操作
通过cookie获取refresh——token jwt根据其id获取用户信息,重新生成短期token并返回

啊啊啊,现在一整个就是一个蒙蔽状态,唉

我去我去,竟然完成了,并且比预期时间还要提前不少。看来后端开发总算是挤进赛道了啊

posted @ 2026-05-28 14:21  无循  阅读(9)  评论(1)    收藏  举报