最近,越来越对这几层的含义有兴趣,因此,根据在网上搜索到的资料以及自己的理解,特整理了这篇博文。
首先,分层的目的:高内聚,低耦合。虽然有时候一个controller方法里面仅仅调用一个service的方法,一个service方法里面仅仅调用一个dao层里的方法,但是,这几层还是非常有必要存在的。一、这样看起来结构是很清晰的,虽然对很对新人来说确实看起来很复杂;二、可扩展性和适应性更加强,比如将来用户的业务逻辑有一定的改变,你需要做的仅仅就是在service层中多调用一个方法即可,而不需要对代码有太多的改动,抑或是你将来想换个mvc的框架的话,只需要对接收和返回参数方面做些处理即可,而不需要对service层和dao层做任何改动;三、维护更加简单,其实这个和第二点有点相似,不过,不同的是将来维护的不一定是你本人或者开发这个系统的人,所以,如果你严格按照这种架构来写的话,他们只需要有这种分层意识,很容易就能够对系统有个很好的掌握,也很容易能够对问题进行排查和修改。
view:视图。这个很容易理解,其实view层就是用户用户可以看到的东西。后台怎么处理不关心,只关心怎么样想用户展示信息。
controller:也可以成为action层,业务模块流程。我经常喜欢用控制视图的跳转来简单形容,但是这个是不全面的,因为他除了控制视图的转换之外,还控制了业务的逻辑,但是,这里的控制业务逻辑不是业务逻辑的实现,而仅仅是一个大的模块,你看到之后,知道它实现了这个业务逻辑,但是怎么实现的,不需要关心,仅仅需要调用service层里的一个方法即可,这样使controller层看起来更加清晰。
service:业务逻辑层。接着controller层中,可以想到,service层是业务逻辑(商务逻辑)的具体实现。它向上层的controller层提供接口,并且使用dao层提供的接口。存在的必要性:有时候,我认为更多的时刻,service层中仅仅是调用dao层中的一个方法,那么它是否有必要存在呢?答案是肯定的。因为,假如将来客户的业务有一定的变动,那么这样一来,你只需要在service层中进行一些变动即可。记住,你写程序不应该仅仅为实现功能考虑,更多的还是应该为将来的维护考虑,因为大部分的时间还是在维护上的。
dao:数据访问对象。他只负责对数据进行访问,而不管其他的什么业务逻辑,其实就是只干活,而不管为什么干。在dao层里面要完成的是数据访问逻辑以及对数据的访问。数据访问,大部分情况下就是对数据进行操作。dao层为上层的service层提供接口。dao层在操作完成后,如果是查询,则返回对象,如果是增删改,则仅仅需要返回一个boolean值表示成功失败即可。
小弟正在摸索学习中,如果发现有哪里说的不对,请各位多多包涵并指正。
相关推荐
DAO层_Service层_Controller层、View层的一些了解知识,帮助填充对这部分比较空白的开发者们。
View层、Controller层、Service层、Dao层的区别以及对应的功能
MVC:Model View Controller Model: Dao +JavaBean View: Jsp Controller: Servlet Dao: 用于连接数据库及进行数据库的操作:增、删、改、查等 JavaBean:用于数据的封装,方便将查询结果在servlet与jsp页面之间进行...
后端代码中主要有controller层、service层、dao层和utils层。Controller层主要作用为实现前后端的数据交互,因为在设计的过程中发现将controller层和service层合并可以减少大量的接口,从而减少对接口的管理工作,...
3,在Dao层创建***dao接口,并设计关于数据表数据的增删改查等操作方法。 4,定义一个类实现上面的接口 5,在前台页面success.jsp中添加某数据表的增删改查操作(按钮或超链接) 6,从前台页面开始向后进行调用,jsp--...
java 代码自动生成 dao service bean xml view,controller
Service层:存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,它有接口还有接口的实现方法,在接口的实现方法中需要导入Dao层,Dao层是直接跟数据库打交道的,它也是个接口,只有方法...
最简单的SpringBoot 开发demoJvava Server遵循的 ... * 界面通过接口 请求数据 由Controller接待, Service后台处理事务Controller进入等待,Service 分发给Dao处理,处理完再通知Controller,Controller再返回给View
强化注解的使用,在控制器、Service、Dao都可以使用注解,方便灵活。 Spring MVC的工作流程如下: 用户通过视图层发送请求到服务器。 在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理...
spring mvc 列子,注解方式,只需直接新建view,并实现相应comtroller和service就行了,配置和dao层的内容基本不变,也就是每次只需写jsp(view),controller和service调用dao就行
标准的SSM框架有四层,分别是dao层(mapper),service层,controller层和View层。使用spring实现业务对象管理,使用spring MVC负责请求的转发和视图管理,mybatis作为数据对象的持久化引擎。 1)持久层:dao层...
标准的SSM框架有四层,分别是dao层(mapper),service层,controller层和View层。使用spring实现业务对象管理,使用spring MVC负责请求的转发和视图管理,mybatis作为数据对象的持久化引擎。 1)持久层:dao层...
1.spring MVC + spring +mybatis,是标准的MVC设计模式,将整个系统划分为显示层,Controller层,Service层,DAO层四层使用Spring MVC负责请求的转发和视图管理spring实现业务对象管理,mybatis作为数据对象的持久...
# web 项目开发脚手架 ## 项目分层模式 ### MVC - Model:模型代表一个存取数据的对象。它也可以带有逻辑,在数据变化时更新控制器。 - View:视图代表模型包含的数据的可视化。...- `CLD`:controller、logic、dao
实现了学生管理系统的最基本功能,包括增删改查,满足MVC的设计模式,包括了Model层、View层、Controller层、Dao层、Service层、DB层。
核酸检测系统采用SpringBoot+Freemarker+Jpa框架开发,是标准的MVC模式,将整个系统划分为View层,Controller层,Service层,DAO层四层。其中,Freemarker拿取数据进行展示数据,SpringBoot实现业务对象管理,Jpa...
3.在控制层调用业务逻辑层(service),数据持久层(DAO)返回控制层,请求完成获取一个结果,设置一个要跳转的视图,(ModelAndView装载并传输数据,设置视图) 4.核心控制器调用 视图解析器:ViewResolver解析...
运行软件:idea 带报告 基于ssm框架,整个系统划分为View层,Controller层,Service层,DAO层四层,使用Spring MVC负责请求的转发和视图管理,Spring实现业务对象管理,Mybatis作为数据对象的持久化引擎。
SSM框架是Spring MVC ,Spring和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为View层,Controller层,Service层,DAO层四层,使用Spring MVC负责请求的转发和视图管理,Spring实现业务对象管理,Mybatis...
-- 这里在配成spring,下边也要写一个名为spring-servlet.xml的文件,主要用来配置它的controller --> 19. *.do</url-pattern> 20. </servlet-mapping> 21. <welcome-file-list> 22. <welcome-file>index.jsp...