简介

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对象??)

java 各个文件夹的含义的更多相关文章

  1. 解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法

      建立好一个Maven项目后,如果Java Resources资源文件下没有src/main/java文件夹,并且在手动创建这个文件时提示“已存在文件”. 这说明,在这个项目配置中已经有了src/m ...

  2. java 遍历文件夹里的文件

    Java遍历文件夹的2种方法: A.不使用递归: import java.io.File; import java.util.LinkedList; public class FileSystem { ...

  3. JAVA 遍历文件夹下的所有文件

    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...

  4. Java操作文件夹的工具类

    Java操作文件夹的工具类 import java.io.File; public class DeleteDirectory { /** * 删除单个文件 * @param fileName 要删除 ...

  5. JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)

    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...

  6. Java生成文件夹

    Java生成文件夹 1.说明 判断文件夹是否存在,如果不存在就创建该文件夹,并打印其路径:如果存在,打印其路径 2.实现源码 /** * @Title:BuildFolder.java * @Pack ...

  7. 解决Eclipse建立Maven项目后无src/main/java资源文件夹的办法

    建立好一个Maven项目后,如果Java Resources资源文件下没有src/main/java文件夹,并且在手动创建这个文件时提示“已存在文件”.这说明,在这个项目配置中已经有了src/main ...

  8. 【转载】Linux下各文件夹的含义和用途

    原文地址:https://www.cnblogs.com/lanqingzhou/p/8037269.html Linux下各文件夹的含义和用途 Linux根目录”/“下各个系统文件夹的含义和用途 1 ...

  9. Java修改文件夹名称

    Java修改文件夹名称 学习了:http://blog.csdn.net/yongh701/article/details/45063833 进行文件夹名字批量修改,注意,要写全路径: package ...

  10. Java读文件夹

    使用JAVA读取文件夹中的多个文件 package hx.ReadFile; import java.io.FileNotFoundException; import java.io.IOExcept ...

随机推荐

  1. Robot Framework自定义关键字

    需求分析: 如下图,诸多步骤中可能共用某些共同的步骤,比如都需要登录会员 此,可以把登录的操作写成模块化,插入其他脚本供其他脚本调用,如此可以节省不少脚本量 上图为会员登录的操作. 具体实施如下: 1 ...

  2. MySQL 的存储引擎有哪些?它们之间有什么区别?

    MySQL 的存储引擎及其区别 MySQL 提供多种存储引擎,不同存储引擎在数据存储方式.索引支持.事务处理等方面各具特点.以下列出常用的存储引擎及其主要区别. 1. 常见存储引擎 (1)InnoDB ...

  3. 什么条件会触发 Java 的 Young GC?

    什么条件会触发 Java 的 Young GC? Young GC,即 新生代垃圾回收,是 Java 垃圾回收机制中的一种重要回收方式.它主要用于回收 新生代 中的对象,尤其是 Eden 区 和 Su ...

  4. 移动开发框架,Hammer.js 移动设备触摸手势js库

    原文:https://www.cnblogs.com/zhwl/p/3525238.html hammer.js是一个多点触摸手势库,能够为网页加入Tap.Double Tap.Swipe.Hold. ...

  5. RabbitMQ队列和消息的优先级

    RabbitMQ队列和消息的优先级 如果队列中的消息很多,需要一部分消息被优先消费,这是可以通过为消息和队列设置优先级来实现. 请注意,消息的优先级是相对于队列的优先级而言的.如果队列的最大优先级是1 ...

  6. dom操作补充

    s5.html <!DOCTYPE html> <html lang="en"> <head>     <meta charset=&qu ...

  7. 电脑tips #持续更新ing

    记录日常get 1. Esc+ Fn 打开与锁住F1到F12功能键们 2. 没有找到支持的视频格式和MIME类型 场景:发生在网页嵌入的视频中 原因及解决:--网速不好,重新刷新解决 3. 问题描述: ...

  8. vivo官网APP首页端智能业务实践

    作者:vivo 互联网客户端团队- Li Quanlong 本文介绍端智能技术在vivo官网APP的落地实践,通过抽象问题.提出端智能解决方案.方案落地这三大块内容逐步递进地展开端智能技术的应用过程. ...

  9. 远古python1.6 linux版下载

    链接:https://www.123pan.com/s/qdY9-n3fk3 语法和python2应该是差不多的,曾经提到过 体验:

  10. Spring扩展接口-内置事件ContextEvent

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...