精华内容
下载资源
问答
  • 表现层 业务层 持久层 web层 service层 dao层的相关概念描述
    千次阅读
    2020-07-17 16:49:15

    我们的架构一般分为两种,

    一种是C/S(客户端/服务器),另一种是B/S(浏览器/服务器)。

    在我接下来学习的SpringMVC种,几乎都是B/S架构开发的。

    其标准的三层架构中,一般分为:表现层,业务层持久层

    表现层:

             表现层又被称为web层,主要负责接受客户端的请求,向客户端发送请求结果。

    而表现层又包括展示层控制层,展示层负责结果的展示,控制层负责接受请求。

    表现层依赖业务层,接受到客户端请求一般会调用业务层进行业务信息处理,然后再把结果相应给客户端,。

    MVC模型一般都是在表现层的。

    业务层:

               业务层又被曾为service层,它主要负责的是业务逻辑处理,和项目中的需求挂钩。

               像银行(表现层)里取钱,通过界面调用程序内部的取钱功能(业务层),然后程序通过一系列的sql之类的东西,对信息进行处理(持久层)。

    持久层:

            持久层又被称为dao层,负责将数据持久化,其中数据库是对数据进行持久化的载体,数据访问,然后数据修改。

    业务层需要通过数据访问层,将数据持久化到到数据库中,

    也就是说,持久层是完成和数据库交换内容的结构,对数据库进行增删查改。

    更多相关内容
  • 控制层、业务层和数据访问层

    千次阅读 2021-04-13 15:02:35
    首先先说数据访问,这个一般都叫做Dao(Data Access Object),主要就是用来和数据库打交道的,该也目标和十分明确,就是需要我们在这写一些最底层的方法,比如最常见的几种:save、update、deleteById、...

    写这个主要有两个方面的原因,第一就是为了加深一下自己的理解和记忆,第二则是为刚刚接触JavaWeb开发和没有正确认识分层的人接触一些疑惑。 首先先说数据访问层,这个层一般都叫做Dao(Data Access Object)层,主要就是用来和数据库打交道的,该层也目标和十分明确,就是需要我们在这层写一些最底层的方法,比如最常见的几种:save、update、deleteById、deleteAll、findById、findAll,以及一些封装的分页查询方法等等,当然也有一些比较通用的,比如用户登录和注册会根据用户名进行查询,我们自然会需要一个方法如findByUserName等。这层的宗旨只有一个,与数据库直接打交道,语句也要尽量的保证在本模块的通用性,比如多条件查询的方法findByParams,我们可以传递一个Map,来记录多个参数和多个值之间的对应关系,以便实现多条件的查询。 其次就是业务层(Service,Business,Biz均可),这个层对于初学者来说,第一反应就是和Dao没什么区别。不过随着项目经验的积累,我们会逐渐的感觉到,业务层其实才是Web开发的核心,是这几个层中最重要的东西。一个优秀的开发者,可以清晰的划分出业务层和数据访问层之间的界限。举个例子来说,用户登录这算是一个业务方法,在业务层我们要做的就是对这个业务进行逻辑的拆分,然后将用户登录这个业务方法暴露给上层(可能是控制层,也可能直接暴露成为接口)。而业务的拆分也很简单,用户登录无外乎根据用户名查询用户,并判断密码的正确性之后将成功与否(true/false)返回上层即可。再举个例子,有时候我们会遇到一些情况,比如某个实体(Book)会有多个类型:英语类(type=1)、计算机类(type=2),但我们需要分开查询两个类型的实体(两个查询方法,findEngBookByParams和findPcBookByParams),这时,我们只需要在业务方法的逻辑中,分别在findEngBookByParams和findPcBookByParams的Map参数集合中,put入type=1和type=2即可,并不需要去数据访问层再写方法。 至于控制层,主要就是对业务方法的调用和一些response的处理而已,并没有太多可说的。 数据访问层和业务层有时候确实很相似,尤其是在一些简单的Web应用中,很难区分两者,所以只有不断的增长项目经验,不断的去思考,才能真正的理解这两层分层的真正意义。

    展开全文
  • MybatisPlus数据层与业务层快速开发

    千次阅读 2022-03-30 00:51:48
    MybatisPlus数据层与业务层快速开发 package com.vmware.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.vmware.domain.Book; import org.apache.ibatis.annotations.Mapper; @...

    MybatisPlus数据层与业务层快速开发

    package com.vmware.mapper;
    
    import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    import com.vmware.domain.Book;
    import org.apache.ibatis.annotations.Mapper;
    
    @Mapper
    public interface BookMapper extends BaseMapper<Book> {
    
    }
    
    • MyBatisPlus向数据层提供了快速开发工具类:BaseMapper 包含了基本的增删改查操作
    package com.vmware.service;
    
    import com.baomidou.mybatisplus.extension.service.IService;
    import com.vmware.domain.Book;
    
    public interface BookService extends IService<Book>{
    }
    
    • MybatisPlus向业务层提供了通用接口IService,包含了常用的业务接口
    package com.vmware.service.impl;
    
    import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
    import com.vmware.domain.Book;
    import com.vmware.mapper.BookMapper;
    import com.vmware.service.BookService;
    import org.springframework.stereotype.Service;
    
    @Service
    public class BookServiceImpl extends ServiceImpl<BookMapper, Book> implements BookService{
    }
    
    • MybatisPlus向业务层提供了通用实现类ServiceImpl<Mapper,POJO>,实现了通用接口IService的方法
    展开全文
  • 负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进行持久化的载体,数据访问层是业务层和持久层交互的接口,业务层需要通过数据访问层将数据持久化到数据库中。通俗的讲,持久层就是和数据库交互,...

    什么是框架

    框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 简而言之,框架其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。

    简而言之框架就是我们软件开发中的一套解决方案,不同的框架解决不同的问题。框架封装了好多细节,使开发者可以使用极简的方式实现功能,大大提高了开发的效率。

    框架解决的问题

    框架要解决的最重要的一个问题是技术整合的问题,在J2EE的 框架中,有着各种各样的技术,不同的软件企业需要从J2EE中选择不同的技术,这就使得软件企业最终的应用依赖于这些技术,技术自身的复杂性和技术的风险性将会直接对应用造成冲击。而应用是软件企业的核心,是竞争力的关键所在,因此应该将应用自身的设计和具体的实现技术解耦。这样,软件企业的研发将集中在应用的设计上,而不是具体的技术实现,技术实现是应用的底层支撑,它不应该直接对应用产生影响。 框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。

    软件开发的分层重要性

    框架的重要性在于它实现了部分功能,并且能够很好的将低层应用平台和高层业务逻辑进行了缓和。为了实现软件工程中的“高内聚、低耦合”。把问题划分开来各个解决,易于控制,易于延展,易于分配资源。我们常见的MVC软件设计思想就是很好的分层思想。

    三层架构

    我们的开发架构一般都是基于两种形式,一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器。在JavaEE开发中,几乎全都是基于B/S架构的开发。那么在B/S架构中,系统标准的三层架构包括:表现层、业务层、持久层。三层架构在我们的实际开发中使用的非常多,所以我们课程中的案例也都是基于三层架构设计的。三层架构中,每一层各司其职,接下来我们就说说每层都负责哪些方面:

    表现层:接受请求展示数据

    也就是我们常说的web层。它负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求web层,web需要接收http请求,完成http响应。 表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。 表现层依赖业务层,接收到客户端请求一般会调用业务层进行业务处理,并将处理结果响应给客户端。 表现层的设计一般都使用MVC模型。(MVC是表现层的设计模型,和其他层没有关系)

    业务层:处理业务逻辑

    也就是我们常说的service层。它负责业务逻辑处理,和我们开发项目的需求息息相关。web层依赖业务层,但是业务层不依赖web层。 业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务一致性。(也就是我们说的,事务应该放到业务层来控制)

    持久层:数据库交互

    也就是我们是常说的dao层。负责数据持久化,包括数据层即数据库和数据访问层,数据库是对数据进行持久化的载体,数据访问层是业务层和持久层交互的接口,业务层需要通过数据访问层将数据持久化到数据库中。通俗的讲,持久层就是和数据库交互,对数据库表进行曾删改查的。

    我现在比较了解的ssm框架这三层之间的关系如下所示:
    在这里插入图片描述

    展开全文
  • 注册后,通过查询数据表,可以发现,仍有一部分数据没有值,例如is_delete、created_user字段等,所以,业务层的实现类还有一项任务,就是“保障数据的完整性”,那些不由用户(客户端)提交的数据,应该在业务层中...
  • 业务层 、服务层、数据层、表现层

    千次阅读 2020-02-16 14:40:59
    业务逻辑:包含了系统所需要的所有功能上的算法和计算过程,并与数据访问和表现交互。(服务端返回  数据的处理以及相应页面的变化) 服务:相当于中间类的作用,中间的工厂类提...
  • 转自:https://blog.csdn.net/ljf_study/article/details/64443653SSH: Struts(表示层)+Spring(业务层)+Hibernate(持久层)Struts:Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。...
  • SSH:Struts(表示层)+Spring(业务层)+Hibernate(持久层)  Struts:Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。  在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的...
  • Java 表现层,业务层,持久层

    千次阅读 2018-04-25 23:29:51
    java web应用: ...C-Controller,控制器,是客户端与服务器的中间连接枢纽,它负责将客户端发来的请求分配到指定的方法,执行相应的业务逻辑,然后将服务器返回的数据分配到指定的view,view好、经过渲染...
  • 目录用户技术用户管理单点登录授权登录消息推送存储云...用户管理系统面临的主要问题是用户数巨大,用户数据量虽然大,但是不同用户之间没有太强的业务关联,A 用户登录和 B 用户登录基本没有关系。因此虽然数据量巨
  • 为了实现web(struts)和持久(Hibernate)之间的松散耦合,我们采用业务代表(Business Delegate)和DAO(Data Access Object)两种模式。DAO模式为了减少业务逻辑和数据访问逻辑之间的耦合,当一个持久曾框架...
  • 借助Spring Boot框架开发web项目时,在业务层(Service)这一部分,标准做法是:定义一个接口,然后再一个或多个类去实现。那么疑问来了: 为什么我们要维护两份同构代码,而不直接使用一个类呢? 不创建接口,通过...
  • 业务层   以处理省的信息为例,先创建对应的业务接口`cn.zjtj.store.service.IProvinceService`,并添加与持久层接口中相同的抽象方法:  /** * 获取所有省的列表 */ List getProvinceList();...
  • Struts(表示层)+Spring(业务层)+Hibernate(持久层) SSH:Struts(表示层)+Spring(业务层)+Hibernate(持久层) Struts:Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。  ...
  • 这些层次是表现层、持久层、业务层、和域模型层。每一个层次都有其独特的职责,不能把各自的功能与其它层次相混合。每一个应用层都应该和其它层隔离开来,但允许使用接口在层间进行通信。我们开始来看看每个层,并...
  • 这些层次是表现层、持久层、业务层、和DAO。每一个层次都有其独特的职责,不能把各自的功能与其它层次相混合。每一个应用层都应该和其它层隔离开来,但允许使用接口在层间进行通信。我们开始来看看每个层,并讨论...
  • JAVA EE三架构:Struts2.0+spring+hibernate三软件架构是一个比较成熟的轻量级的软件架构,基于此开发的B/S模型的软件至少包含以下三个部分:表示业务逻辑和数据访问。由Struts2.0来完成的表示主要...
  • ssm框架分为三层表现层,业务层,持久层1.持久层持久层这一部分相对于传统的ssm框架来说是与mybatis打交道的,我接触到的都是创建接口然后在调用相对应的xml文件,完成对业务层的功能接口。接下来我会对远端接口调用...
  • 1.业务层 、服务层、数据层、表现层

    万次阅读 多人点赞 2017-04-19 13:33:47
    抽象的说,业务逻辑层就是处理与业务相关的部分,一般来说,业务层包含一系列的执行与数据的操作,例如,开具发票、添加客户或下订单等。服务层就是相当于中间类的作用,中间的工厂类提供了另一个通用放任接口让调用...
  • 理解java三层架构:持久层、业务层、表现层

    万次阅读 多人点赞 2017-04-06 09:28:00
    java三架构最简单的介绍。
  • 此图来自传智播客教程。 上下都容易理解,关键中间的四个层 视图层就是所看到的前端页面(V) 逻辑层解析、校验数据 (个人理解应该也归结于M层,哈哈) ...业务层实现整体业务的逻辑 C 持久层,DAO,JDBC M...
  • 业务层中为什么一定要用接口,不用行不行?回答:不是必须要使用接口,但强烈建议使用接口。 1 为了基于SPringBoot 框架下 还可以再扩展 如果只用类 则无从下口 2 两个同事一块工作 定义一个接口 就相当于一个占位符...
  • 业务层该层主要是App的各种业务操作,比如登录,遍历tab,下单等,也就是说把app中各项业务的操作都封装在业务层。比如说登录操作,我们把它封装一个类,大致的流程是:首先是不是要找到登录入口(可能一个app有很多...
  • 业务逻辑是专门处理软件业务需求的一,处于数据库之上,服务之下,完成一些列对Domain Object的CRUD,作为一组微服务提供给服务来组织在暴露给表现,如库存检查,用法合法性检查,订单创建。  业务逻辑...
  • 本篇的内容,真是颠覆了我对Mybatis所... 相比传统的Web项目,如果数据层业务不是很复杂的情况下,我们采用以下模式: 1.创建用户接口【接口里面定义,增删改查等行为】 /** * 用户操作接口 * @author yukun24
  • 开发业务层区块链应用    Hyperledger fabric目前支持java,nodejs,go和python语言的sdk,供用户选择用不同的语言开发上层应用,使用相应的sdk调用部署在区块链上的链码。以下示例中我们选择使用go语言开发业务...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 911,222
精华内容 364,488
关键字:

业务层