Training College
这是我大学三年级第二学期的J2EE中间件的课程作业
以下是我的报告
一、数据库设计
1、ER图
2、数据库表
二、架构设计
1、项目结构截图
2、是否使用框架
使用了spring boot 的框架
3、前端页面是否使用框架
前端使用了thymeleaf渲染模版,界面使用了uikit模版
三、类设计
1、各包的类
1.1config包
AutoAllotTeam:2周之后自动分配班级
MyWebAppConfigurer:项目的启动类
OrderEndPayTimeAutoBean:下订单倒计时,15分钟后不能支付
WebSecurityConfig:项目的Security的配置
1.2 controller包
EduInsViewController:用来控制机构主界面的模版
UserManagerViewController:用来控制经理的视图模版
UserViewController:用来控制用户的视图模版
EduInstitutionController:用来处理机构的请求
IndexController:用来处理主界面的请求
ManagerController:用来处理管理员操作的请求
OrderController:用来处理订单的请求
UserAccountController:用来处理登陆注册和账号相关的请求
UserController:用来处理用户的请求
1.3 dao包
BankRecordRepository:读取交易记录数据库的接口
BankRepository:银行交易数据库接口
EduInsPlanRepository:读取机构课程的数据库接口
EduInsRecordRepository:上课记录数据库的接口
EduInstitutionRepository:机构数据库的接口
OrderRepository:访问order模块的数据层的接口
StudentRepository:访问学生模块的数据层接口
StuScoreRepository:访问学生层级的数据层接口
TeacherRepository:访问教师模块的数据层接口
UserRepository:访问用户模块的数据层接口
1.4 entity包
Bank:银行实体类
BankRecord:银行交易记录实体类
CustomDateSerializer:自定义返回JSON数据,日期格式化
CustomDateDateTimeSerializer:自定义返回JSON数据,日期格式化与上面不同就是返回格式不一样
EduInsPlan:机构课程的实体类
EduInsRecord:上课登记记录的实体类
EduInstitution:机构的实体类
EduInsWait:等待修改或者通过注册审核的机构实体类
Order:订单的实体类
Student:学生的实体类
StuScore:学生成绩的实体类
Teacher:教师的实体类
User:用户的实体类
1.5 interceptor包
EduInsInterceptor:教育机构访问的拦截器,拦截没有登陆账号的请求
ManagerInterceptor:经理的访问拦截器,拦截没有登陆的请求
UserInterceptor:用户的拦截器,拦截一些没登陆的请求
1.6 service包
AccountService:用于处理账号服务的接口
AccountServiceImpl:AccountService实现类
EduInstitutionService:用于处理机构的一些逻辑业务
EduInstitutionServiceImpl:EduInstitutionService的实现类
ManagerService:用于处理经理的一些逻辑服务
ManagerServiceImpl:ManagerService的实现类
OrderService:用于处理订单的一些逻辑服务
OrderServiceImpl:OrderService的实现类
PayService:用于处理一些支付的逻辑服务
PayServiceImpl:PayService的实现类
UserService:用于处理用户的逻辑服务
UserServiceImpl:UserService的实现类
1.7 util包:辅助类包
DateUtil:用于解决日期与字符串的转换
EduInsTransform:用于解决教育机构注册的类和审核之后的类的转换
MailUtil:用于处理发邮件的实现
PageUtil:处理分页的类
StringUtil:处理自定义的字符串操作
四、其他
1、开发环境
- 数据库:mysql
- 服务器:SpringBoot的内嵌tomcat
2、开发心得
1、选题:这次选题有卖票系统和选课系统,然后我觉得做卖票的话好好像要做好多的前端的东西啊。我就想觉得很麻烦,就直接选择了第二个,感觉相对来说对前端的要求不是很高,所以就选了第二个题目
2、开始项目:我个人比较懒,同时也不喜欢一次性把工作都堆在一起完成,我是寒假最后一周开始做的,然后花了2天时间去了解了springboot这个框架,然后构成一个大体的架构,然后进行各种设计,最后才开始做的
3、过程,在做的过程,我也遇到了许许多多的问题,导致修bug也花了好多时间,例如我在做实体类的时候对两个实体类的外键连接的时候也遇到很多奇奇怪怪的问题,查了好多资料才找到错误。还有一种就是报错,明明程序没问题,看了很久才发现是我的数据库的数据没有更新,导致新写的代码报错,我还在纠结代码出什么问题。这种就是做了好多无用功,费神。最后也有惊无险的完成。
4、项目即将完成的时候,那时候已经到了我检查的那一周了,我从老师的要求走了一遍,发现有各种的bug,这些真的不试不知道,一试吓一跳,我就按照这些bug慢慢改,改了我1个周末的时候,最后拖了1周的时间才去的检查,最后也无惊无险的完成了
5、后续,通过完成这次的课程的项目,我了解到了很多东西,也知道了框架对开发效率,开发质量的提升,因为直接用servlet来写的话,会十分的麻烦。
最后:)给上我的源码