springBoot controller,service,dao,mapper,model层的作用说明

作者:jingxian 时间:2022-02-28 15:38:49 

零、业务逻辑

Controller-->service接口-->serviceImpl-->dao接口-->daoImpl-->mapper-->db

一、Dao(Data Access Object):数据存储对象

DAO = Data Access Object = 数据存取对象. 不管是什么框架,我们很多时候都会与数据库进行交互。如果遇到一个场景我们都要去写SQL语句,那么我们的代码就会很冗余。所以,我们就想到了把数据库封装一下,让我们的数据库的交道看起来像和一个对象打交道,这个对象通常就是DAO。当我们操作这个对象的时候,这个对象会自动产生SQL语句来和数据库进行交互,我们就只需要使用DAO就行了。

通常我们在DAO层里面写接口,里面有与数据打交道的方法。SQL语句通常写在mapper文件里面的。

优点:结构清晰,Dao层的数据源配置以及相关的有关数据库连接的参数都在Spring配置文件中进行配置。

二、Service:服务

服务是一个相对独立的功能模块,主要负责业务逻辑应用设计首先也要设计接口,然后再设计其实现该接口的类。这样我们就可以在应用中调用service接口进行业务处理。service层业务实现,具体调用到已经定义的DAO的接口,封装service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性 。

如果把Dao层当作积木,则Service层则是对积木的搭建。

三、Controller:控制器

主要负责具体业务模块流程的控制,此层要调用到Service层的接口去控制业务流程,控制的配置同样在Spring配置文件中配置。针对不同的业务流程有不同的控制器。在设计的过程可以设计出重复利用的子单元流程模块。

四、model:模型

模型就是指视图的数据Model,模型,通常来讲,我们会把模型和另一个东西放在一起来说:View,视图。

模型通常认为是视图的内核,何谓之视图?我们正在与之交互的网站的界面就是视图,而模型是指他的内核数据

将Model和View的概念拆分开来,有助于我们关注不同的方面,也可以更有效的分工。有些工程师更关注于内核也就是模型,通常来说,他们被称之为后端工程师。有些工程师更关注于用户界面的交互和展示,通常来说,他们被称之为前端工程师。

五、View层

与Controller层关系紧密,View层主要负责前台jsp页面的表示。

六、它们之间的关系

建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。

springBoot controller,service,dao,mapper,model层的作用说明

springBoot controller,service,dao,mapper,model层的作用说明

DAO层、Service层和Controller层的区别

1、dao层:数据访问层

dao层属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一 一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。

负责与数据库进行联络的一些任务都封装在此,dao层的设计首先是设计dao层的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可以再模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,dao层的数据源配置,以及有关数据库连接参数都在Spring配置文件中进行配置。

2、service层:服务层

粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。

service层主要负责业务模块的应用逻辑应用设计。同样是首先设计接口,再设计其实现类,接着再Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用service接口来进行业务处理。service层的业务实,具体要调用已经定义的dao层接口,封装service层业务逻辑有利于通用的业务逻辑的独立性和重复利用性。程序显得非常简洁。

3、controller层

Controler负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面。

controller层负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里进行,针对具体的业务流程,会有不同的控制器。我们具体的设计过程可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块。这样不仅使程序结构变得清晰,也大大减少了代码量。

关系

Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。

来源:https://blog.csdn.net/bandaoyu/article/details/104759030

标签:springBoot,controller,springBoot,service层,springBoot,dao层,springBoot,mapper层,springBoot,model层
0
投稿

猜你喜欢

  • Java流程控制break和continue

    2023-06-16 09:49:54
  • Java中i++的一些问题总结

    2022-04-11 18:07:34
  • JavaFx实现拼图游戏

    2022-04-20 01:05:05
  • 基于springboot的RestTemplate、okhttp和HttpClient对比分析

    2021-07-02 03:14:21
  • Java语法中Lambda表达式无法抛出异常的解决

    2022-10-13 01:04:43
  • Java Timer使用讲解

    2023-11-28 20:30:33
  • SpringAOP如何获取方法参数上的注解

    2021-09-19 23:22:18
  • SpringBoot带你实现一个点餐小程序

    2022-04-01 23:38:08
  • java中File类的使用方法

    2023-09-11 11:49:55
  • Java 中解决Unsupported major.minor version 51.0的问题

    2022-07-22 03:53:08
  • Java文件读写IO/NIO及性能比较详细代码及总结

    2021-11-28 12:56:30
  • Spring实战之清除缓存操作示例

    2023-05-31 07:46:26
  • C#仿Windows XP自带的扫雷游戏

    2023-07-30 07:40:48
  • 在Winform和WPF中注册全局快捷键实现思路及代码

    2023-03-13 23:00:25
  • SpringBoot读取yaml文件操作详解

    2022-09-16 09:38:31
  • Android Handler runWithScissors 梳理流程解析

    2023-01-29 11:51:27
  • Java实现简单树结构

    2023-08-06 18:59:12
  • springboot +rabbitmq+redis实现秒杀示例

    2022-04-21 02:29:28
  • C#实现获取机器码的示例详解

    2021-11-13 06:57:19
  • Java Git Commit Message使用规范

    2023-03-15 07:50:43
  • asp之家 软件编程 m.aspxhome.com