JavaEE作业管理系统
一、功能介绍
老师端
1.注册/登录
2.发布作业
3.批改作业
学生端
1.登录/注册
2.查看/提交作业
3.更新作业
二、技术介绍
1.Spring Boot
Spring Boot的设计是为了能够拿简化新Spring应用的初始搭建,让Spring应用程序尽快跑起来,减少配置文件,同时简化开发过程。
Spring Boot集成了很多的常用第三方库配置库,提供了很多非功能性特征,如嵌入式服务、安全性、外部化配置等。
Spring Boot不是Spring的替代者,Spring框架是通过IOC机制来管理Bean的。而Spring Boot框架是依赖Spring框架来管理对象的依赖。
Spring Boot是基于Spring Framework构建的,Spring Cloud是构建Spring Boot分布式环境。
2.MyBatis
Mybatis是一个基于Java的持久层框架,包括SQL Maps和Data Access Objects,他支持定制化SQL、存储过程以及高级映射。它避免了绝大多数的JDBC代码和手动设置参数以及获取结果集。可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJO映射成数据库中的记录。
特点:
1.简单易学,没有第三方依赖,简单安装只需要两个jar文件和几个sql映射文件。
2.灵活,不会对程序或数据库现有的设计有影响,sql写在xml中,可以满足所有对数据库的操作。
3.将sql与程序代码解耦合,提高了可维护性。
功能架构
1.API接口层:通过这些本地API来操纵数据库。接收到调用请求就会调用数据处理层来完成具体的数据处理。
2.数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理。根据调用请求完成数据库操作。
3.基础支撑层:包括连接管理、事务管理、配置加载和缓存处理,是最基础的组件。为上层数据处理层提供支撑。
3.JPA
JPA是Java Persistence API的简称,用于对象持久化的 API。JPA 是 hibernate 的一个抽象。
特点:
1.标准化,提供相同的API,经过少量的修改就能够在不同的 JPA 框架下运行。
2.简单易用,在 JPA 框架下创建实体和创建 Java 类一样简单,只需要使用 javax.persistence.Entity 进行注释。
4.Docker
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
优点:
1.可以快速,一致的交付程序,简化了开发的生命周期。
2.响应式部署和扩展,可移植性和轻量级,可以减轻动态管理的工作负担。
3.在同一硬件上运行更多的工作负载,可以利用更少的资源做更多的事。
三、数据库设计
这个项目涉及了四张表,分别是学生表、老师表、作业表和学生提交作业表。
学生表
教师表
作业表
学生提交作业表
四、流程介绍登录界面
在登录界面用户需要选择自己的身份是老师或者学生,并且使用相应的用户名与密码进行登录,若未选择身份或信息不匹配,登陆失败。注册界面
新用户需要输入相应的信息进行注册,用户名不能与已有用户名重复,身份必须选择,否则注册失败。
教师端
作业列表
教师可以对已有作业进行查看删除,可以添加新的作业。作业详情
添加作业
批改作业列表
教师可以查看待批改作业和已批改作业,并且进行相应操作。批改作业
教师可以查看学生提交的作业,并进行批改。
学生端
作业列表
学生可以选择已发布的作业进行答题。我的作业
学生可以查看自己的作业以及老师的评语,对于老师未批改过的作业可以进行修改,对于已经批改过的作业不能修改。修改作业
搜索作业
学生可以在自己的作业中,根据关键字查找作业。五、关键代码展示
StudentController
TeacherController
StudentService
TeacherService
github地址:https://github.com/yankexin/JavaEE-Project