前言:
SpringBoot中仍然存在MVC模型(事实上一直存在并且为主流模型)。在Web中的MVC模型与GUI中的 MVC模型中的细节可能有所出入,同时在工程目录下一般会有 .model
.dao
.controller
.util
.service
.filter
.listener
.repository
.entity
等诸多文件夹,本文将浅显地讲解其作用和理解。
正文:
目录作用
.model
:实体类,也就是JavaBean
。该文件夹作用是将数据库字段与Java操纵进行对象化操作联系起来;.entity
:实体类,也就是JavaBean
。该文件夹作用是将数据库字段与Java操纵进行对象化操作联系起来;与“.model
”作用相同,有的工程会采用前者工程目录,有的则是后者;.domain
:实体类,也就是JavaBean
。该文件夹作用是将数据库字段与Java操纵进行对象化操作联系起来;与“.model
”作用相同,有的工程会采用前者工程目录,有的则是后者;.dao
:数据库访问层,整个工程与数据库直接交互的地方(实际上只是对外暴露一些方法)。该文件夹作用是降低工程结构之间的耦合,使业务逻辑与数据库交互耦合降低;.repository
:数据库访问层(持久层),整个工程与数据库直接交互的地方(实际上只是对外暴露一些方法)。该文件夹作用是降低工程结构之间的耦合,使业务逻辑与数据库交互耦合降低;与“.dao
”作用相同,有的工程会采用前者工程目录,有的则是后者;.controller
:控制层,接收和返回客户端的参数。该文件夹的作用是整个工程对外访问的地方;.util
:工具类。该文件夹的作用是为整个工程提供共有工具类,例如id生成等;.service
:业务层,存放与具体业务相关的增删改查的方法。该文件夹的作用是上接控制层(.controller
) 下衔数据库访问层(.dao
);.filter
:过滤器。该文件夹的作用是存放过滤器;.listener
:监听器。该文件夹的作用是存放监听器;
通过上文的介绍,可以简单了解到为什么有的项目里面采用这样的名称命名文件夹而有的项目里面采用的是另一种名称。下面来简要了解一下MVC模型与上述文件夹的联系。
MVC模型与上述文件夹的联系
- View:视图层,展示数据的层次,可为Client或Browser;
- Controller:控制层,内含“
.controller
”; - Model:数据层,内含“
.model
”、“.dao
”、“.service
”等
除此之外,上面提到但没有罗列的文件夹属于额外的。