Java中 Controller、Service、Dao/Mapper层的区别与用法

这篇具有很好参考价值的文章主要介绍了Java中 Controller、Service、Dao/Mapper层的区别与用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java中 Controller、Service、Dao/Mapper层的区别与用法

在Java开发中,通常会采用三层架构(或称MVC架构)来划分程序的职责和功能,分别是Controller层、Service层、Dao/Mapper层。

1、Service层:业务层–>控制业务

业务模块的逻辑功能设计,和DAO层一样都是先设计接口,再创建要实现的类,然后在配置文件中进行配置其实现的关联。接下来就可以在service层调用接口进行业务逻辑应用的处理。

好处:封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性。

2、Controller层:控制层–>调用业务层方法来控制业务逻辑

controller层主要调用Service层里面的接口来控制具体的业务流程,控制层的配置也要在配置文件中进行。

Controller和Service的区别是:Controller负责具体的业务模块流程的控制;Service层负责业务模块的逻辑应用设计

3、Dao/Mapper层:持久层,主要与数据库交互

Dao层首先会创建Dao接口,接着就可以在配置文件中定义该接口的实现类;然后就可以在模块中调用Dao的接口进行数据业务的处理,而不用关注此接口的具体实现类是哪一个类,Dao层的数据源和数据库连接的参数都是在配置文件中进行配置的。

以下是更专业的详解

Controller层

Controller层是Java Web应用程序里面的控制层,主要负责接收客户端发送的请求、调度Service层的各个方法,并将处理的结果返回给客户端。同时,Controller层也可以对请求参数进行校验,防止错误数据的处理和提交。

Controller层主要使用 Spring MVC 相关的注解来映射请求和处理请求结果。例如,@RequestMapping注解用于配置基于请求URL的映射,@Controller注解用于标识该类为控制器类,@ResponseBody注解用于将返回结果序列化成JSON等格式返回给客户端。

Service层

Service层是Java Web应用程序里面的业务逻辑层,主要负责处理业务逻辑、实现数据校验、事务控制、权限控制等方面。Service层通过调用Dao/Mapper层的接口来操作数据库,以完成具体的业务目标。

为了能够实现业务逻辑的独立性和可重用性,Service层通常采用接口+实现类的方式进行开发。Service层主要使用@Autowired注解来注入Dao/Mapper层的实例,并使用@Transactional注解来定义事务。

Dao/Mapper层

Dao/Mapper层是Java Web应用程序里面的数据访问层,主要负责与数据库进行交互,进行数据读取、写入、修改、删除等操作。Dao/Mapper层通常使用Spring Data JPA、MyBatis等开源框架进行ORM操作。

在Dao/Mapper层中通常有一个Java接口和一个对应的XML文件(或注解方式进行映射),用于定义SQL语句,以完成数据的增、删、改、查操作。Dao/Mapper层中的方法会由Service层来调用,通过调用SQL语句来完成与数据库的交互。

总之,Controller、Service、Dao/Mapper层是Java Web应用程序中常用的三层架构,分别负责接收请求、处理业务逻辑和与数据库交互。合理地划分和组织这三层的代码,可以简化程序的开发和维护,提高代码的可重用性和可维护性。文章来源地址https://www.toymoban.com/news/detail-459695.html

到了这里,关于Java中 Controller、Service、Dao/Mapper层的区别与用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mapper层和service层的区别

    在软件开发中,通常将应用程序的不同层进行分离,以便实现更好的代码组织和职责分离。通常将应用程序分为三个主要层:表示层、业务逻辑层和数据访问层。其中,业务逻辑层通常又可以分为 Service 层和 Mapper 层。 Mapper 层是数据访问层的一部分,负责将数据从数据库中提

    2024年02月12日
    浏览(40)
  • Java——Controller层、Service层和DAO层

    在 Java 的三层架构中,通常会涉及到以下几个层次:Controller层、Service层和DAO层。 Controller层(控制层):Controller层是应用程序的入口点,负责接收用户的请求并处理。它通常处理来自前端或客户端的请求,并将请求转发给相应的Service层进行业务处理。Controller层负责接收和验

    2024年02月04日
    浏览(37)
  • java中的controller、domain、mapper(persistence)、service 都是做什么用的?

    java中的controller、domain、mapper(persistence)、service代表了服务端接口的 4 层,第一层是控制层(controller),负责接口请求/响应的控制,调用第二层业务逻辑层(service 一般分为接口和实现),完成具体业务功能,它会调用第三层数据持久层 mapper(persistence)的逻辑,作用是访

    2024年02月15日
    浏览(49)
  • 剖析Java中的Entity、service、serviceImpl、Mapper以及Controller层之间的关系(代码诠释)

    学习了Java的相关方面知识之后,但对于各层次之间的关系以及部署,可能还会有些陌生感,下面以代码讲解各层之间的关系。 (企业中多数以Springboot为例,下面的代码都是以Springboot为例) 如果还停留在SSM基础或者补充Springboot的基础知识,也可在我的博客搜索。 简单的Sp

    2024年04月26日
    浏览(34)
  • SpringBoot(入门)三层架构Controller、Service、Dao

    SpringB是一个基于Java的开源框架,用于创建微服务。它由Pivotal Team开发,用于构建独立的生产就绪Spring应用。 SpringBoot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件,简化开发。 Controller层:(顾名思义 控制层)控制并处理http请求,将其不

    2024年02月07日
    浏览(44)
  • 使用mybatisX逆向生成数据表实体类(pojo,dao),mapper,service

    先看使用mybatisX后生成的文件。 1.先在idea安装mybatisX插件,在file-setting-plugins,搜索mybatisX插件,重新启动idea即可。 2.在idea编辑器右侧点击Database,点击“+”链接你的数据库类型,这里我选mysql。     输入root,密码:xxxx 输入url:jdbc:mysql://localhost:3306/emos?useUnicode=truecharacterEnc

    2024年02月03日
    浏览(43)
  • spring boot,DAO层、ENTITY层、SERVICE层、CONTROLLER层之间的关系

    主要用于 定义与数据库对象应的属性,提供get/set方法 ,tostring方法,有参无参构造函数。 DAO层 首先会创建Dao接口 , 接着就可以在配置文件中定义该接口的实现类 ;接着就可以在模块中调用Dao的接口进行数据业务的处理,而不用关注此接口的具体实现类是哪一个类,Dao层的数

    2024年04月10日
    浏览(36)
  • 后端开发基础概念 Entity,DAO,DO,DTO,VO, Service,Controller

    Entity主要用于ORM(对象关系映射)框架中,如Hibernate、MyBatis等,以便将数据库中的数据映射为对象,方便进行业务操作。 Entity通常与数据库表一一对应,代表 业务数据 的基本单元。 通常放在项目的model或entity包下。   DAO(数据访问对象): DAO是连接业务逻辑和数据库的桥

    2024年04月08日
    浏览(37)
  • SpringBoot(三层框架Controller,Mapper,Service)中遇到的一些注解整理

    本文主要从Controller层,Service层,Mapper层这三层架构中记录用到的各种注解 还有一些MyBatis用到的注解 持续更新到本人的毕设做完为止,太多了太多了根本学不完哈哈哈 用于建立HTTP请求与处理方法之间的映射关系,其中 XXX Mapping限定了提交http请求的方法 用于获取URL中提交过来的

    2024年01月21日
    浏览(42)
  • SpringBoot框架分层(View层、Controller层、Service层、Mapper层、pojo层)

      SpringBoot框架一般分为View层、Controller层、Service层、Mapper层、pojo层。 View层:视图层,根据接到的数据展示页面给用户 Controller层:响应用户需求,决定用什么视图,需要准备什么数据来显示。Controller层负责前后端交互,接收前端请求,调用Service层,接收Service层返回的数据

    2024年02月07日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包