这是我第一次完整的做下java项目,总结各方面问题

一、项目流程:

二、在项目代码中应该养成的好习惯

1、代码中该有的注释要有

2、日志输出:例如@Slf4j,方便查看代码的输出结果

3、一些必要的插件要安装:Translation,这个可以在idea里面搜索不认识的单词的意思

4、每一个文件都要大写字母开头,驼峰格式拼写

5、@RestController :页面访问,数据会以json的格式返回

6、对于前后端分离的项目,在对后端的数据进行测试时,我们可以使用postman进行测试

......

三、

1、前期准备:开始一个项目之前,我们应该对这个项目进行分析,做一些前期的工作,比如刚开始要进行需求分析,在对项目进行数据库的设计以及接口文档的设计,当然也要做好研发计划,这样可以使我们对项目的研发更加清晰条理。

2、项目研发:此次项目的研发,是我了解了redis的使用以及短信登录的功能如何实现(短信功能:https://blog.csdn.net/syw_0406/article/details/119257283),短信功能中的发送短信验证码,我们就可以将验证码存在redis中,以便后续登录时输入验证码进行校验,我们经常要使用的大量数据也可以存入redis缓存中,方便读取,也减少了数据库的负担,从而提高系统的性能,在使用Redis之前,同样要对redis进行下载,此处不多总结了。

   /*** 点击发送验证码** @param request* @param sysUserVo* @return java.lang.String* @author syw* @date 2021/7/31 10:55*/@RequestMapping("/sendSMS")public String sendSMS(HttpServletRequest request, @RequestBody SysUserVo sysUserVo) {Long phoneNum = sysUserVo.getPhoneNum();log.info("phoneNum{}", phoneNum);//随机生成六位验证码的工具类String code = keyUtil.keyUtils();log.info(code);if (phoneNum != null && !phoneNum.equals("")) {//发送短信验证码-通过腾讯云String s = SMSUtil.sendSMS(request, phoneNum.toString(), code);//设置验证码存保存在redis缓存中的时间redisUtil.set("code", code, RedisConstant.EFFECTIVE_Time);return s;} else {return "error";}}

3、在这次项目中,有一个小小的对于学生请假时长进行判断的要求,对于学生请假时长超过7天,交由管理员进行处理,若学生请假时间小于7天则正常由老师进行批假审核。

//学生端-请假申请@Overridepublic boolean addCheck(StudentLeaveVo studentLeaveVo) {studentLeaveVo.setCreateTime(LocalDateTime.now());//获取请假离开时间LocalDateTime leaveTime = studentLeaveVo.getLeaveTime();log.info("leaveTime{}", leaveTime);//获取返校时间LocalDateTime backTime = studentLeaveVo.getBackTime();log.info("backTime{}", backTime);//时间做差Duration duration = Duration.between(leaveTime, backTime);//相差的天数long days = duration.toDays();log.info("days{}", days);if (days > 7) {//将审核状态设置为3,就是管理员审核studentLeaveVo.setStatus(3L);log.info("status{}", studentLeaveVo.getStatus());} else {//将审核状态设置为0,就是教师审核studentLeaveVo.setStatus(0L);}log.info("studentLeave{}", studentLeaveVo);studentLeaveVo.setCreateTime(LocalDateTime.now());studentLeaveMapper.addCheck(studentLeaveVo);return false;}

4、这次项目我们用到的前端框架是vue框架,是一个现在被广泛使用的框架,也算是简单易学,虽然自己也是在这次项目上对前端vue花费的时间比较长...,

例如vue前端各个文件夹功能:

<1>build文件是 webpack 的打包编译配置文件

<2>static文件夹存放一些静态的、较少变动的image或者css文件

<3>config文件夹存放的是一些配置项,比如服务器访问的端口配置等

<4>dist该文件夹一开始是不存在,在我们的项目经过 build 之后才会产出 ,就是在我们部署项目到服务器上的时候,要执行指令 npm run build

<5>src文件夹中:

assets: 图标、图片、国际化等静态信息

components: 组件库,对常用组件进行封装

http: 后台交互模块,统一后台接口请求API

axios &  Promise :封装前端请求方法并做统一拦截处理,统一在请求头内添加token,判断当前登录状态并跳转到登录页面,统一提示错误信息

mock:模拟接口,测试数据

permission: 权限控制模块

router: 路由管理模块,负责页面各种路由配置,配置全局路由和动态路由和菜单的加载

utils: 工具模块,提供一些通用的工具方法

view:页面模块,相关页面在此文件夹内创建

关于该项目的小小总结...

基于java的项目总结相关推荐

  1. 基于Java的项目人力资源管理系统【附:源码课件】

    项目背景 近年来,随着国内市场需求不断扩大,企业之间的竞争也在逐渐加剧.为了实现长期盈利,以及占领更多市场份额的目标,许多企业开始将重心放在对内部的管理上,加强对人力资源的管理是很多企业关注的重点.本 ...

  2. 基于Java的项目物业管理系统(附:源码课件)

    项目背景: 在最近几年,我国的物业管理行业发生了极其飞速的发展.物业管理行业有客户众多.系统设备繁杂.覆盖范围巨大的特点,针对这些特点,建立一个优秀的物业管理系统,动态的管理物业并整合优化各种相关资源 ...

  3. 题目:基于Java毕设项目“e博士”高考志愿辅助填报系统

    1.系统总体设计 1.1开发环境 操作系统:Windows10: 编程语言:Java: 运行环境:jdk1.8 开发工具:IDEA:[所有的项目都是可以转换,所以不用在意工具是什么] 框架:SSM[S ...

  4. java企业级应用开发项目总结报告,基于Java软件项目开发岗位的企业实践总结报告...

    D ISCUSSI ON 丨交流平台 基于Ja va软件项 目 开发 岗位的企业实践总结报告 文/ 卜 令瑞 摘 要 : 为 进 一 步 加 强 职 业 学校 " 双 师 型 " ...

  5. java电信计费项目论文_基于JAVA开发的电信IP计费系统设计毕业论文

    基于JAVA开发的电信IP计费系统设计毕业论文 本科毕业设计(论文)基于 JAVA 开发的电信 IP 计费系统毕业设计(论文)任务书学院:信息科学与工程学院 系级教学单位:电子与通信工程学号学生姓名专 ...

  6. java后端项目怎么实现图片预览_项目经验不重样!3个基于 SpringBoot 的图片识别处理系统送给你!...

    最近看了太多读者小伙伴的简历,发现各种商城/秒杀系统/在线教育系统真的是挺多的.推荐一下昨晚找的几个还不错的基于 Java 的图片识别处理系统. 中药图片拍照识别系统 项目地址:https://git ...

  7. ISV客户博客系列:Persistent Systems 使用Windows Azure交付基于Java的CloudNinja项目

    编者注:本文作者是Persistent Systems 的云计算助理副总裁Shreekanth Joshi,描述了该公司是如何使用Windows Azure为他们的ISV客户开发和交付基于Java的应 ...

  8. 基于tutk方案的p2p源码_基于JAVA的局域网文件共享平台P2P实训项目源码(毕业设计 课程设计)...

    [实例简介] 基于JAVA的局域网文件共享平台P2P实训项目源码(毕业设计 课程设计). 可直接运行.做毕业设计.课程设计或者想研究下技术的可以下载学习.需要更多资源的可以关注我. [实例截图] [核 ...

  9. B2C商城项目源码,基于Java开发的高可用分布式B2C商城系统,Java+Spring MVC+Dubbo+Zookeeper+MySQL+Redis+FastDFS+Nginx+Solr

    目录 前言 B2C商城-AIYOU 一.项目总体架构 二.系统软硬件设施总体规划 1.系统服务规划 2.应用服务规划 3.应用系统域名规划 三.系统运行环境构建 四.项目数据库创建 五.项目拉取 六. ...

最新文章

  1. 机器学习必知必会10大算法
  2. VTK与Qt整合的示例
  3. 【董天一】IPFSFilecoin和复制证明
  4. “AttributeError: ‘str‘ object has no attribute ‘decode‘ “
  5. 员外陪你读论文:DeepWalk: Online learning of Social Representations
  6. Hibernate模糊查询
  7. 中如何使用echart_jQueryEasyUI中的拖拽事件如何使用
  8. 处女座的测验(一)(互质数)
  9. html块左右排列,html – 如何均匀地排列多个内嵌块元素?
  10. oracle 9 插入日期,oracle date日期类型 精析
  11. MySQL 的 IFNULL()、ISNULL() 、 NULLIF()、IF() 函数
  12. 线性代数:特殊矩阵学习笔记
  13. 100个犯人和一个亮灯泡_每个人都在一个开放的组织中更换灯泡
  14. 排列生成算法--C++
  15. 智能车学习(一)—— 硬件准备
  16. matlab rem与mod 的区别
  17. Spire.Doc 教程:在C#,VB.NET创建、编辑和保存Word
  18. 教师资格证面试结构化面试100题
  19. DN值、辐射率、反射率等
  20. 快速了解端口banner

热门文章

  1. []==''返回?为什么?运算符==进行了什么操作?
  2. Android刷机脚本——updater-script
  3. html字体大小、颜色、粗体、下划线代码(局部)
  4. 十万个为什么 「你知道为什么汉字有时会乱码变成问号(?)或别的字符吗?」
  5. Qt-Qml-播放视频-失败版-只有声音没有图像
  6. 用Kali破解WiFi密码——以攻为守,发现自己网络的破绽,提升安全性
  7. vue 用户点击不同的导航菜单,显示对应菜单所展示的区域
  8. [视频教程] KBEngine mmo手游开发系列(三) - 角色技能与怪物系统
  9. 可以这样理解视觉Transformer模型中patch交互的关系
  10. 面试题-ARP防御方法