## 前言
#### 体验地址(学生党一枚,服务器到期,即不提供体验地址)
  ~~线上体验地址:[点击访问]()~~
  ~~前端项目地址:[点击访问]()~~
```
管理员内置账号:
学工号:123 密码:123
学工号:124 密码:123
学工号:125 密码:123
学工号:126 密码:123
学生用户:学工号,密码为该生身份证后六位。
```
  关于前后端<font color='blue'>开发</font>中**跨域**问题,开发时采用后端解决方式,通过配置SpringSecurity中的cors项,允许跨域。
  项目最终在<font color='blue'>部署</font>的时候,前后端采用独立部署,通过nginx来代理请求,从而解决了跨域问题。
  觉得此项目不错的小伙伴,不要忘记 **star**~。
## 项目简介
  学生信息管理系统。
- 基本功能包括
1. 学生信息管理,增删改查,以及文件备份,批量注册,前后端同时校验数据,将异常数据响应给用户。
2. 用户信息管理,对于**角色控制**,用户状态的控制。
3. **课程信息管理**,课程相关管理。
4. 公告管理,发布最新的教务动态,或者教务系统公告。
  采用**前后端分离**式开发,采用现阶段流行技术实现,例如:SpringBoot、Spring、SpringMVC、MyBatis。
- **核心功能**:
1. **定时开放与关闭选课系统**,定时开放采用redis中的键过期时间控制;系统关闭采用线程池中ScheduledThreadPoolExecutor来设置计划任务。
2. 用户**并发选课控制**,采用**异步处理**,并且使用缓存层Redis记录相关信息,同时采用aop编程思想,在第一次请求选课接口时,加载redis中lua脚本文件(只会加载一次)。
- - -
## 技术选型
#### 后端部分
- SpringBoot,作为整个管理容器
- SpringSecurity,一个强大的权限控制框架,与Spring的兼容性好一些相比于shiro。
- MyBatis,ORM框架
- PageHelper,分页插件
- Hibernate-Validator,验证框架
- ActiveMQ,消息队列
- Redis,分布式缓存
- Druid,数据库连接池
- FastJson,json序列化方式
- easyexcel,操作excel
- Lombok,简化pojo对象
- OSS,对象云存储,采用腾讯云对象存储
#### 前端部分
- node.js
- Vue
- ElementUI,前端组件库
- axios,异步请求,比ajax要轻量级一些。
- echarts,报表
- wangeditor,网页轻量级编辑器
- router,路由配置
- store,全局对象存储
---
## 运行截图
- **登录页面**:
![](./images/sims_index.png)
- **首页**:
![](./images/sims_home.png)
- **学生信息管理部分:**
![](./images/sims_student.png)
- **用户管理部分:**
![](./images/sims_personal.png)
- **管理员开放选课系统:**
![](./images/sims_course_system.png)
- **学生选课:**
![](./images/sims_student_select_course.png)
---
## 后端项目结构
```
├─main
│ ├─java
│ │ └─com
│ │ └─xust
│ │ └─sims
│ │ ├─dao -- 数据访问层
│ │ ├─dto -- 数据转换对象,一般为不能和数据库表直接建立联系的对象
│ │ ├─entity -- 实体对象,一般为能直接和数据库表建立联系的对象
│ │ ├─exceldatalistener -- 处理excel表相关的实体类
│ │ ├─receiver -- 中间件相关的配置和服务
│ │ ├─serialize -- 序列化方式
│ │ ├─service -- 业务逻辑层
│ │ ├─utils -- 工具类
│ │ └─web -- 与web相关
│ │ ├─aspect -- 切面配置
│ │ ├─config -- 配置类
│ │ ├─controller -- 控制层
│ │ └─exception -- 自定义异常
│ └─resources
│ ├─mapper -- MyBatis对应的xml文件,要和一个接口共同组成一个映射器
│ ├─static -- 静态资源
│ └─templates -- 模板
└─test -- 测试对应的包
└─java
└─com
└─xust
└─sims
├─dao
└─service
```
---
## 目前存在的问题
1. 功能没有完善,整个系统虽然是一个单体应用架构,但是逻辑结构很清晰,方便日后扩展功能点以及维护。
2. 用户登录,没有做人数上的并发控制。
3. 数据库没有进行合理的复制,一旦线上数据库宕机,需要手动的维护。
---
## 展望与总结
  本次项目采用单体应用架构,学习**分布式理论**与**微服务**之后,有时间可以将本项目的架构进行转型,如果有志同道合的朋友,可以一起开发。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
学生信息管理系统后端(SpringBoot).zip (121个子文件)
mvnw.cmd 6KB
.gitignore 370B
mail.html 396B
maven-wrapper.jar 50KB
CourseServiceImpl.java 12KB
StudentInfoServiceImpl.java 9KB
UserServiceImpl.java 7KB
SecurityConfig.java 7KB
StudentInfoController.java 6KB
CourseController.java 6KB
MavenWrapperDownloader.java 5KB
AvatarUtils.java 4KB
UserController.java 4KB
BoardController.java 4KB
StudentDataListener.java 4KB
StudentInfoInsertUtils.java 4KB
SchoolInfoServiceImpl.java 3KB
UserMapper.java 3KB
RedisConfig.java 3KB
StudentExcelData.java 3KB
UserService.java 3KB
MailReceiver.java 3KB
LoginController.java 2KB
ScriptAspect.java 2KB
SchoolInfoService.java 2KB
CourseService.java 2KB
SchoolInfoController.java 2KB
CodeFilter.java 2KB
LogAspect.java 2KB
Registry.java 2KB
StudentInfoService.java 2KB
CourseMapper.java 2KB
StudentMapper.java 2KB
SimsApplicationTests.java 2KB
TestMenu.java 2KB
BoardServiceImpl.java 1KB
CaptchaConfig.java 1KB
Student.java 1KB
MenuMapper.java 1KB
BoardMapper.java 1KB
StudentExcelTemplateData.java 1KB
UrlEncodeUtils.java 1KB
SimsApplication.java 1KB
TeacherController.java 1KB
Course.java 1KB
FastJsonRedisSerializer.java 1KB
WebConfig.java 1KB
ExcelValidateHelper.java 1KB
RespBean.java 1KB
MenuController.java 1KB
StudentInsert.java 1KB
ClassMapper.java 1KB
AdminMapper.java 1KB
BoardService.java 1KB
JavaMailConfig.java 1000B
CorsConfig.java 945B
MajorMapper.java 927B
NoticeBoard.java 873B
DateUtils.java 759B
ResponseCode.java 754B
TeacherServiceImpl.java 748B
TeacherMapper.java 693B
ScheduleThreadPoolConfig.java 663B
MenuServiceImpl.java 647B
StudentInfoQuery.java 647B
CodeUtils.java 642B
CloseCourseThread.java 604B
Teacher.java 591B
UserNotFoundException.java 581B
AcademyMapper.java 580B
User.java 574B
BaseController.java 534B
TeacherService.java 490B
Menu.java 469B
Admin.java 427B
Score.java 420B
Major.java 409B
MessageQueue.java 403B
Academy.java 356B
Class.java 353B
MenuService.java 331B
SelectCourse.java 305B
SchoolInfoNotFoundException.java 284B
StudentInfoInsertException.java 280B
UserInfo.java 260B
ScheduleConfig.java 256B
LoginUser.java 248B
Meta.java 246B
Role.java 207B
LICENSE 11KB
select_course_procedure.lua 1KB
cacel_course_procedure.lua 668B
README.md 5KB
MANIFEST.MF 4KB
mvnw 10KB
sims_center.png 347KB
sims_course_system.png 335KB
sims_course_system_open.png 320KB
sims_student_select_course.png 317KB
sims_personal.png 292KB
共 121 条
- 1
- 2
资源评论
码农阿豪@新空间代码工作室
- 粉丝: 3w+
- 资源: 1761
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功