`

理解dao sevice controller三层结构

 
阅读更多

DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。   
  
Service层:Service层主要负责业务模块的逻辑应用设计。同样是首先设计接口,再设计其实现的类,接着再Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口来进行业务处理。Service层的业务实现,具体要调用到已定义的DAO层的接口,封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。   
  
Controller层:Controller层负责具体的业务模块流程的控制,在此层里面要调用Serice层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器,我们具体的设计过程中可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,这样不仅使程序结构变得清晰,也大大减少了代码量。   
  
View层 此层与控制层结合比较紧密,需要二者结合起来协同工发。View层主要负责前台jsp页面的表示,   
  
DAO层,Service层这两个层次都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势,Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。   
  
DAO设计的总体规划需要和设计的表,和实现类之间一一对应。   
  
DAO层所定义的接口里的方法都大同小异,这是由我们在DAO层对数据库访问的操作来决定的,对数据库的操作,我们基本要用到的就是新增,更新,删除,查询等方法。因而DAO层里面基本上都应该要涵盖这些方法对应的操作。除此之外,可以定义一些自定义的特殊的对数据库访问的方法。   
  
Service逻辑层设计   
  
Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。   
  
在DAO层定义的一些方法,在Service层并没有使用,那为什么还要在DAO层进行定义呢?这是由我们定义的需求逻辑所决定的。DAO层的操作 经过抽象后基本上都是通用的,因而我们在定义DAO层的时候可以将相关的方法定义完毕,这样的好处是在对Service进行扩展的时候不需要再对DAO层进行修改,提高了程序的可扩展性。

分享到:
评论

相关推荐

    SSM框架下基本的mapper,dao,service,controller等相关文件的整理

    "SSM框架下基本的mapper,dao,service,controller等相关文件的整理" 在SSM框架中,mapper、dao、service、controller等相关文件是非常重要的组件,它们之间的关系和调用顺序非常关键。下面,我们将对这些组件进行...

    mybatis-plus反向工程 自动生成3层架构的文件controller,service,dao,mapper.zip

    反向工程(Reverse Engineering)是MyBatis-Plus的一个特色功能,它可以根据数据库中的表结构自动生成对应的Java代码,包括Controller、Service、DAO、Mapper等三层架构中的各个组件。 首先,我们来看"mybatis-plus...

    一键生成java三层代码、数据库设计文档、接口对接文档(dao、entity、mapper、service、controller)

    1. **Java三层架构**:这是软件开发中常见的分层架构模式,包括表现层(Controller)、业务逻辑层(Service)和数据访问层(DAO)。表现层处理用户交互,业务逻辑层负责业务规则的实现,数据访问层则处理与数据库的...

    Service层和DAO层解析

    在Java Web开发中,它们通常被应用于三层架构或MVC(Model-View-Controller)模型中。 DAO(Data Access Object)层是负责与数据库交互的层,它的主要职责是实现数据的增、删、改、查等操作。例如,编写SQL语句来...

    自动生成MVC中的Service层、Dao层及Model层代码

    这些工具能够根据数据库的表结构自动创建Service、Dao和Model层的代码,只需简单配置即可。 自动生成代码的步骤通常包括: 1. 配置数据库连接信息,如数据库驱动、URL、用户名和密码。 2. 指定需要生成代码的数据库...

    java设计三层架构

    在Java Web开发中,三层架构是一种常见的设计模式,它将应用程序分为表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据访问层(Data Access Layer)。这种分层设计有助于提高代码的可读性、...

    03---Controller-Service-Dao.zip

    下面将详细解释Controller、Service和Dao三层及其在实际应用中的作用。 1. **Controller层**: Controller层是用户界面和业务逻辑之间的桥梁。它接收来自用户的请求,对请求进行初步处理,并调用Service层的方法来...

    SpringBoot三层架构Demo

    【SpringBoot三层架构Demo】是一个基于SpringBoot框架的示例项目,它展示了如何按照传统的三层架构模式(表现层、业务层、数据访问层)来组织代码。该项目旨在帮助开发者理解和实践SpringBoot在实际开发中的应用。 ...

    Java Web三层架构的配置详解

    Java Web三层架构是一种常见的软件设计模式,用于构建可扩展、可维护且易于测试的Web应用程序。这个模式将应用逻辑划分为三个主要层次:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据...

    java连接oracle数据库完成查询,插入,删除,更新等操作,采用contoller,service,DAO三层结构,实现了分页等操作的web工程

    连接的数据库为员工信息管理系统,采用Contrller,Service,Dao三层结构,controller层为servlet,下层均有一个接口和一个实现类。Bean的基本属性为String类型:NO,NAME,SEX,AGE。采用JSP显示在浏览器上,完成了登陆...

    mvc代码自动生成

    当我们谈论"mvc代码自动生成"时,通常指的是利用工具或库自动化创建DAO(数据访问对象)、Service和Controller层的代码,从而减少手动编写这些常见组件的时间和错误。 **DAO层**: DAO层是应用程序与数据库交互的...

    分了dao service的ssm整合还附带分页功能

    SSM整合是Java Web开发中常见的一种架构模式...通过这个项目,新手可以学习到如何配置和整合SSM框架,理解DAO和Service层的设计,以及如何在MyBatis中实现分页功能。这将为他们进一步深入Java Web开发打下坚实的基础。

    三层架构和MVC的区别和联系

    三层架构和MVC(模型-视图-控制器)是两个经常被提及的概念,它们虽然都可被分成三个部分,但本质上是完全不同的。本文将深入探讨两者的定义、组成部分以及它们的区别与联系。 首先,我们来了解什么是架构和设计...

    java三层结构开发,很好的利用了MVC结构,尤其是对持久层的理解运用很有帮助与参考价值

    Java三层架构开发是一种常见的软件开发模式,它充分利用了MVC(Model-View-Controller)设计模式,以实现清晰的职责划分和高效的代码组织。在Java应用中,这种架构通常包括表现层(View)、业务逻辑层(Controller/...

    java 三层架构==MVCLogin

    MyEclipse作为强大的Java开发工具,可以便捷地导入和运行`MVCLogin`项目,帮助开发者快速理解并实践MVC模式和Java三层架构。 在实际开发中,为了提高可测试性和灵活性,还可以引入IoC(Inversion of Control,控制...

    软件三层结构

    三层结构主要包括:表示层(或称为Web层)、业务逻辑层(或称为服务层)和数据访问层(DAO层)。这种结构严格遵循MVC(Model-View-Controller)模式,将应用程序的输入、处理和输出清晰地分离。 #### 二、各层功能...

    DAO编程实例

    本实例采用了三个主要的表结构,分别是“物品”、“类别”和“房间”。其中,“物品”表包含了物品ID、类别ID、房间ID、物品描述、制造商、模型、序列号、购买日期、购买地点、单价、折扣和保险状态等字段。“类别”...

    JavaWeb三层架构案例 信息管理系统 ThreeTireSample

    JavaWeb三层架构是一种常见的软件设计模式,用于构建可维护、可扩展且结构清晰的Web应用程序。在这个名为"ThreeTireSample"的案例中,我们将会深入探讨如何运用三层架构来开发一个信息管理系统。 首先,我们要理解...

    jsp三层架构

    综上所述,JSP三层架构是一种强大的设计模式,它为Web应用的开发提供了清晰的结构和良好的组织方式。通过合理地划分页面层、业务逻辑层和数据访问层,开发者能够构建出高效、稳定且易于维护的Web应用程序。

Global site tag (gtag.js) - Google Analytics