最近,越来越对这几层的含义有兴趣,因此,根据在网上搜索到的资料以及自己的理解,特整理了这篇博文。
首先,分层的目的:高内聚,低耦合。虽然有时候一个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(Data Access Object)、Service和Controller层的代码,这些是软件架构中的核心组件。"快速生成DAO、Service、Controller等相关代码"的标题和描述暗示了一个针对这种情况的解决方案,即一个...
DAO层_Service层_Controller层、View层的一些了解知识,帮助填充对这部分比较空白的开发者们。
代码生成器是一种强大的工具,它能够自动生成常见的软件架构组件,如Entity、DAO、Service、Controller以及JSP页面,极大地提高了开发效率。在Java开发领域,这类工具通常用于快速构建基于MVC(Model-View-...
本篇将深入探讨如何使用FreeMarker来生成一套完整的MVC流程,包括Controller、Service、Impl、PageModel、DAO以及Mapper。 1. **FreeMarker简介** FreeMarker是一个基于模板的开源Java库,用于生成文本输出。它的...
View层、Controller层、Service层、Dao层的区别以及对应的功能
Spring容器会在启动时扫描所有带有`@Component`(包括`@Controller`、`@Service`、`@Repository`)注解的类,并将它们纳入管理范围。 5. **配置文件**: 配置SpringMVC通常涉及以下文件: - `web.xml`:定义...
数据库表生成domain, DAO, service, controller工具是一种高效开发辅助软件,主要针对Java Web应用程序开发。这类工具的主要目的是简化从数据库模型到应用层代码的转换过程,帮助开发者快速生成符合MVC(Model-View-...
在IT行业中,开发Web应用程序时,常常采用分层架构,如MVC(Model-View-Controller)模式。这种模式将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式有助于提高代码的可...
Model负责数据处理和业务逻辑,View负责显示结果,Controller处理用户的请求并协调Model和View。 2. **DAO层**: DAO是数据访问对象,主要用于数据库操作。在这个项目中,DAO层负责与数据库交互,如添加新的留言、...
本篇文章将深入探讨一个基于-ioc(Inversion of Control,控制反转)、aop(Aspect Oriented Programming,面向切面编程)、mvc(Model-View-Controller,模型-视图-控制器)的Java后端框架,以-web-Dao-Service-...
在Java Web开发中,它们通常被应用于三层架构或MVC(Model-View-Controller)模型中。 DAO(Data Access Object)层是负责与数据库交互的层,它的主要职责是实现数据的增、删、改、查等操作。例如,编写SQL语句来...
)是MVC(Model-View-Controller)框架的一部分,负责处理用户请求并转发到相应的业务逻辑。Action类是Struts2的核心,它接收HTTP请求,调用Service层进行处理,并将结果返回给视图展示。Action类通常通过配置文件或...
在CRM项目中,JSP作为View层负责显示数据,Servlet作为Controller层处理请求和转发,而Service和DAO层则构成了Model层,处理业务逻辑和数据存储。 6. 数据库设计:CRM系统通常涉及到客户信息、销售数据、订单记录等...
在Java Web开发中,"jsp、servlet进行增删改查,dao层和service层分开"是一种常见的设计模式,它遵循了MVC(Model-View-Controller)架构,旨在提高代码的可维护性和可扩展性。以下是这个模式的详细解释: 1. **...
标题中的"数据库快速生成mapper,dao,entity,service,controller,jsp"指的是利用这样的工具自动生成与数据库交互的各个层的代码,包括Mapper接口、DAO实现、实体类、服务层接口与实现以及视图层的JSP页面。...
然而,为了遵循MVC(Model-View-Controller)架构,通常我们会把业务逻辑移出JSP,使其仅负责展示数据。 **2. Servlet** Servlet是Java EE中的一个核心组件,它充当了控制器的角色,处理HTTP请求并生成响应。在DAO...
在JavaWeb开发中,MVC(Model-View-Controller)模式是一种常见的设计模式,用于将业务逻辑、数据处理和用户界面分离,以提高代码的可维护性和可扩展性。Servlet作为JavaWeb应用中的控制器,常被用来处理HTTP请求并...
MVC:Model View Controller Model: Dao +JavaBean View: Jsp Controller: Servlet Dao: 用于连接数据库及进行数据库的操作:增、删、改、查等 JavaBean:用于数据的封装,方便将查询结果在servlet与jsp页面之间进行...
SSM整合是Java Web开发中常见的一种架构模式...通过这个项目,新手可以学习到如何配置和整合SSM框架,理解DAO和Service层的设计,以及如何在MyBatis中实现分页功能。这将为他们进一步深入Java Web开发打下坚实的基础。
总的来说,这个博客系统是一个典型的MVC(Model-View-Controller)架构的应用,其中MySQL作为模型,Servlet和Service作为控制器,JSP和VO作为视图。通过这个项目,你可以学习到如何构建一个完整的Web应用,包括...