SpringBoot概念整理及项目梳理

项目内容

项目背景和功能

本项目是为北京大学Moodle线上授课平台增加课程推荐模块,实现注册登录页面,视频播放页面和课程视频推荐。

项目分工

前端采用VUE框架。
后端采用SpringBoot + Mybatis + Maven + MySQL。
算法采用了Apriori和BPR推荐算法。Apriori算法是根据视频在同一个学生的记录中出现的概率排序来进行推荐的。
Controller层负责业务逻辑,Service负责实际服务,DAO层与数据库交互,Entity层传输数据库表的实体。

Controller是管理业务(Service)调度和管理跳转的。

  *Service是管理具体的功能的。
  Controller只负责管理,而Service负责实施。
  DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊、动态、子查询都可以。但是无论多么复杂的查询,dao只是封装增删改查。至于增删查改如何去实现一个功能,dao是不管的。
  总结这三者,通过例子来解释:
  Controller像是服务员,顾客点什么菜,菜上给几号桌,都是ta的职责;
  Service是厨师,action送来的菜单上的菜全是ta做的;
  Dao是厨房的小工,和原材料打交道的事情全是ta管。
  相互关系是,小工(dao)的工作是要满足厨师(service)的要求,厨师要满足服务员(controller)转达的客户(view)的要求,服务员自然就是为客户服务喽。
  现在最基本的分层方式,结合了SSH架构。Entity层就是对应的数据库表的实体类。Dao层是使用了Hibernate连接数据库、操作数据库(增删改查)。Service层:引用对应的Dao数据库操作。Controller层:引用对应的Service层,结合SpringMVC注释,跳转到指定的页面,当然也能接受页面传递的请求数据,也可以做些计算处理。*
  https://www.cnblogs.com/cielosun/articles/5752272.html

选择SpringBoot的理由(优点)

  • 独立运行
    内嵌了Tomcat服务器,打包成jar包,就可以用java -jar 包名.jar运行项目,所有依赖都在jar包内。
  • 简化配置
    spring-boot-starter-web启动器自动依赖其他组件,减少maven配置
  • 自动配置
    可以使用application.properties或application.yml进行全局自动配置
  • 无代码生成和XML配置
    无需XML。核心配置文件内容可通过实现WebApplicationInitializer接口的onStartup方法进行实现。而容器的Tomcat是SpringBoot自带的。
  • 应用监控
    使用Spring Boot Actuator进行应用监控和管理,比如健康检查、审计、统计和HTTP追踪等

常见问题梳理

猜你喜欢

转载自blog.csdn.net/qq_40815060/article/details/114259187