简介
java 后端项目常常会使用 类似dao, service, 之类的文件夹, 这些文件夹之间是如何协作的呢??
SpringMVC的层: DAO, Service, Controller, View的关系
参考链接
转载 https://www.cnblogs.com/zhzJAVA11/p/9996999.html
https://www.runoob.com/note/27029
view 层
View层: 表示层, 负责前端jsp页面表示 不过现在我们都不用这一层放jsp页面,因为,前后端进行了分离. 那这一层负责什么呢??
可能就没有这一层, 这一层的存在可能就是对于那些前后端一体的页面来说的.
Controller层
负责具体业务流程的控制, 即调用Service层的接口来控制业务流程. 负责url映射(action).
简单来说, Controller 对于每个浏览的页面进行, 管理?? 主要负责业务的体现??
主要负责调度. 实现在service层之中??
Service层
简历在DAO层之上, Controller层之下. 调用Dao层的接口(Mapper.java), 为Controller 层提供接口.负责业务模块的逻辑应用设计, 首先设计接口, 再设计其实现的类.
DAO层:(DataAccessobjects 数据存取对象)
是指位于业务逻辑和持久化数据之间实现对持久化数据的访问。通俗来讲,就是将数据库操作都封装起来。
负责数据持久化, 与数据库进行联络的任务都封装在其中, Dao层的数据源以及相关的数据库连接参数都在Spring配置文件中进行配置. Dao接口中的方法都打通小异, 因为对数据库的节本操作类似: insert, delete, update, select. 在Dao层定义的一些方法, 在Service层并没有被使用的情况: Dao层的操作经过抽象之后基本都是通用的, 在Dao层完成相关方法定义, 有利于支持后期Service层的扩展.
面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层。Dao层设计与设计的数据库表和实现类(对应的Entity或者JavaBean)一一对应,Entity类和java对象,与数据库表一一对应,是其对应的实现类。即一个Entity就是对应表中的一条记录。View层与Controller层结合紧密,需要二者结合协同开发。Service层、Dao层和其他层次耦合很低,完全可以单独开发。
这样开发后端逻辑清晰. 这就是Spring? 春天来了
其他乱七八糟的文件夹是什么含义大致
DTO (data transfer object 数据传输对象) 类似 DAO ??
Pojo (plain ordinary java object, 普通的普通java对象??)