1318 字
7 分钟
自学第五月份总结

自学第五月份总结#

Spring框架学习#

上一个月速成了一下SpringBoot中常用的相关开发注解,能够在不需要AI辅助的情况下进行后端项目的开发,这个月进入了实际的开发工作中也能够用到60%左右的上个月学习到的内容,Rest风格的API,Controller,Service等项目编写的规范,同一异常处理等等诸如此类。因为对于项目上还有一些速成课程中没有接触到的,在Spring方面还有一些点滴型的收获:AOP,配置文件中参数的统一配置,前端返回参数工具类(泛型的实际使用)

公司项目#

导师分配给我的任务是根据Postgre中已有的固件数据,设计一个固件查询的前后端项目,在前端上采用的是Vue,后端是SpringBoot。

基础任务#

前端方面,由于我没有接触过Vue项目的开发,没有前置知识,我花了2天的时间进行Vue知识的速成补充,再结合AI的辅助给把前端给应付下来了,只是第一次刚学习只是就立马实操项目,在前端项目的代码编写规范上就显得非常的稚嫩了,不过胜在能跑,🤭嘻嘻。

数据库表方面用的是公司爬虫爬下来的数据,在一开始查询是先根据两表联查获取数据,但是即便是优化了SQL语句,由于数据量过大(七十万条*三百万条),数据库任然会出现内存溢出的情况,我有没有相关的权限去进行数据表更改优化,后面索性拜托导师来联系负责数据库的前辈添加了一下字段直接在单表查,其余的还用到了厂商聚合,文件类型聚合,和时间聚合(例如当天数据量,当月数据量等)

后端上,使用到了Caffeine缓存将查询到的厂商聚合时间聚合结果进行缓存,并在前端结合数据设计,给前端用户较为直观的条件查询显示页面。此外固件查询支持了根据S3信息进行下载,通过数据表中的json格式数据,利用Gson工具进行解析获取objectName以及bucketName,生成下载链接,返回给前端重定向下载。

用户管理#

在用户管理上,我先是直接在yaml配置文件中进行配置的用户列表,其中存储着用户信息,账号密码,登录的时候提供相关的API进行登录,设置Session。

后面导师要求使用公司统一的Datacon单点登录统一认证,给我付了权限创建相关的MySQL表格,目前我创建的有用户信息表格,共享文件表格,下载日志表格,因为是使用两张表还用到了一个dynamic的工具,利用DS注解进行多数据库的配置。信息的获取根据统一认证的平台返回的ticket进行,再进行用户的注册,这里和负责统一认证的前辈对接,再结合导师提供的工具类也是吧这个部分完成了。

对于通过单点登录的用户,我还使用到了AOP部分的知识进行下载次数的限制,下载日志的存储,并用到了SpringBoot提供的定时任务每天凌晨自动的恢复每个用户的下载次数。

如何处理原来的登录方式呢?我想了下,索性把之前的认证方式改为了登录的管理员后门,兼容了一下两种方式。

共享文件板块的开发#

目前还在开发,基础的部分已经完成,支持文件的上传,在后端本地进行文件的存储,并在MySQL数据库中记录相应的存储路径,支持文件的下载,在前端通过可视化的方式调用api,根据id获取到文件字节数组,设置响应头将数据传回给前端。后面开发可能还得搞个批量上传的小界面出来。

总结#

经过公司的项目开发,我SpringBoot的使用已经上手,快要丢掉的知识也逐渐被取回,看着项目随着时间一点一点壮大,git提交数量慢慢增多。看着提交的一个接着一个的版本,还是蛮有成就感的。

项目在单点登录前在邢老师的帮助下,已经上线,但是服务器上的单点认证还暂时用不了,推测是公司内网访问单点登录服务平台(阿里云服务器)进行ticket消费的时候会出现DNS域名解析失败的问题,最近公司的网络也不太好,邢老师后面打算让我把后端单独部署到一台公网服务器上(目前部署还是前后端部署在同一个服务器上),来解决上述问题。

第五个月的学习,评价为最有收获的一集!!

自学第五月份总结
https://thrinisty.github.io/Blog/posts/自学第五月份总结/
作者
Thrinisty
发布于
2025-08-01
许可协议
CC BY-NC-SA 4.0