java 4层架构_controller/service/mapper/model四层结构

《浅析Java中dto、dao、service、controller的四层结构》

先给大家看个小模块的目录结构。

dcaaa8b9d47f

首先,最底层的就是dto层,dto层就是所谓的model,dto中定义的是实体类,也就是.class文件,该文件中包含实体类的属性和对应属性的get、set方法;

其次,是dao层(dao层的文件习惯以*Mapper命名),dao层会调用dto层,dao层中会定义实际使用到的方法,比如增删改查。一般在dao层下还会有个叫做sqlmap的包,该包下有xml文件,文件内容正是根据之前定义的方法而写的SQL语句;

之后,到了service层,service层会调用dao层和dto层,service层也会对数据进行一定的处理,比如条件判断和数据筛选等等;

最后,是controller层,controller层会调用前面三层,controller层一般会和前台的js文件进行数据的交互, controller层是前台数据的接收器,后台处理好的数据也是通过controller层传递到前台显示的。

————————————————

版权声明:本文为CSDN博主「乐果锤子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/wyx0224/article/details/81190792

《Spring Boot框架model层、dao层、service层、controller层分析设计》

1. model层

model层即数据库实体层,也被称为entity层,pojo层。

一般数据库一张表对应一个实体类,类属性同表字段一一对应。

2. dao层

dao层即数据持久层,也被称为mapper层。

dao层的作用为访问数据库,向数据库发送sql语句,完成数据的增删改查任务。

3. service层

service层即业务逻辑层。

service层的作用为完成功能设计。

service层调用dao层接口,接收dao层返回的数据,完成项目的基本功能设计。

4. controller层

controller层即控制层。

controller层的功能为请求和响应控制。

controller层负责前后端交互,接受前端请求,调用service层,接收service层返回的数据,最后返回具体的页面和数据到客户端。

————————————————

版权声明:本文为CSDN博主「Just_learn_more」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/Just_learn_more/article/details/90665009

《springBoot框架中几个层(dto、dao、service、controller)之间的关系》

可以这样理解:

controller层-----> service层(接口—>接口实现类) -----> dao层的.mapper文件  -----> 和mapper层里的.xml文件对应

Model层是数据层:  TableName是对数据表实体的映射;

Criteria传输前台数据

DTO 传输类间数据

Mapper层 放置SQL查询XML文件

Dao层相当于XML文件的抽象类

dcaaa8b9d47f

Controller响应浏览器请求:

dcaaa8b9d47f

Service接口:

dcaaa8b9d47f

Service接口实现类:

dcaaa8b9d47f

Mapper:

dcaaa8b9d47f

dcaaa8b9d47f

————————————————

版权声明:本文为CSDN博主「wangpailiulanqi8」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/wangpailiulanqi8/article/details/97004585

《controller,service,dao,mapper,model层的作用》

业务逻辑:

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

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

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

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

二:Service:服务

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

三:Controller:控制器

主要负责具体业务模块流程的控制,会调用Service层的接口来控制业务逻辑

四:model:模型

模型通常认为是视图(view)的内核,模型就是指视图的数据

简而言之:

Service 写api 的,Controller写逻辑的 业务,model:就是对象模型,Dao  跟 mapper 一样的 处理数据的。

《SpringBoot的Dao层、Service层、Controller层的作用》

1.Dao层:全称Data Access Object。Dao层比较底层,负责与数据库打交道具体到对某个表、某个实体的增删改查

2.Service层:又叫服务层或业务层,封装Dao层的操作,使一个方法对外表现为实现一种功能,例如:网购生成订单时,不仅要插入订单信息记录,还要查询商品库存是否充足,购买是否超过限制等等。

3.Controller层:业务控制层,负责接收数据和请求,并且调用Service层实现这个业务逻辑。

————————————————

版权声明:本文为CSDN博主「王的备忘录」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/whb008/article/details/107175186/

Controller(控制层):后台总控制器,接收所有前台传过来的请求,再把它分配到它需要调的service里,相当于前后台的入口(Controller可以有多个,比如可以有10个不频繁访问的服务,可以用一个Controller来控制,另外两个访问频繁的用另一个Controller控制,分开均衡一点)

Services(业务层)【应用层】:所有的逻辑在Services里,逻辑,算法,都是由Services构成的(可以理解成Services里面写核心算法,比如if,else,通过JAVA来实现逻辑的变化,数据的变化)一个按钮对应一个service,所有请求先到controller里面,然后再去找它要哪个服务,再创建一个对应的实例。(简单的项目也可以不用控制器,直接前台调services,但一般都会有一个控制器来管理一下服务的请求)

Dao(持久层):接口(应用层和数据层的接口),只定义对象,不定义具体的内容,之所以有Dao,是为了让Services可以直接用里面定义好的东西,没有Dao的话是调不到的,相当于是在Services里调的是一个接口,Spring运行的时候Spring和Mybatis实时在里面生成方法,实际生成的方法在jar包里面。每添加一个方法,一个SQL,要在Dao里添加一个接口的定义。通过Dao找Mapper文件下的同名的SQL语句,一个Dao对应一个Mapper

Mapper【数据层】:写在xml文件里,里面写对应的SQL语句,实现在数据库中怎么查找。所有的xml都是配置文件,给程序去读取的Model:保存着与数据库表所对应的结构体,作用是方便用表的结构体,增加Mapper的易用性,把所有SQL字段变成变量放在里面,根据表结构自动生成

《SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用》

SSM是sping+springMVC+mybatis集成的框架。

MVC即model view controller。

model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。

service层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。

mapper层=dao层,现在用mybatis逆向工程生成的mapper层,其实就是dao层。对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,而service层是针对我们controller,也就是针对我们使用者。service的impl是把mapper和service进行整合的文件。

(多说一句,数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作,比如数据通过hibernate插入到数据库中。)

controller层。控制器,导入service层,因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,再返回一个指定的路径或者数据表。

==================2019.1.20补充================

在实际开发中的Service层可能被处理为实体Service层,而不是接口,业务逻辑直接写在Service(Class,不是Interface)层中,Controller直接调用Service,Service调用Mapper。

当然了,Service之间也是可以互相调用!

————————————————

版权声明:本文为CSDN博主「安逸的程序猿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/ma726518972/article/details/80262948

《Springboot的 entity,dao,service,controller层级理解(从最底层向上的顺序)》

主要用于定义与数据库对象应的属性,提供get/set方法,tostring方法,有参无参构造函数。

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

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

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

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

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

《【springBoot】controller,service,dao,mapper,model层的作用》

业务逻辑:

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接口,每个接口分别封装各自的业务处理方法。

dcaaa8b9d47f

dcaaa8b9d47f

dcaaa8b9d47f

dcaaa8b9d47f

————————————————

版权声明:本文为CSDN博主「bandaoyu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/bandaoyu/article/details/104759030/

  • 12
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值