在典型的软件开发中,通常会采用分层架构来组织代码和实现不同的功能。以下是常见的四个层次及其作用:

1. 数据访问对象层(DAO层):
   - DAO层主要负责与数据库进行交互,封装了对数据库的操作,如查询、插入、更新和删除等。
   - 它提供了对数据持久化的操作接口,隐藏了底层数据库的细节,使上层的业务逻辑代码与数据库操作解耦。
   - DAO层可以使用各种数据库访问技术,如JDBC、ORM框架(如Hibernate、MyBatis)等。

2. 服务层(Service层):
   - 服务层负责实现应用程序的业务逻辑,对外提供服务接口供上层调用。
   - 它协调各个DAO层的操作,并处理业务逻辑、事务管理、数据验证等。
   - 服务层可以包含多个服务类,每个服务类负责不同的业务功能,将复杂的业务逻辑拆分为更小的模块,提高代码的可维护性和复用性。

3. 映射器层(Mapper层):
   - 映射器层(有时也称为数据访问层)是在使用ORM框架(如MyBatis)时出现的一种概念。
   - 它负责将数据库表和Java对象之间进行映射,定义了数据库查询语句与Java方法的对应关系。
   - 映射器层提供了对数据库的访问接口,包括查询、更新、删除等操作。
   - 它可以将查询结果映射为Java对象,并将Java对象持久化到数据库中。

       service层接受controller层信息,用于业务处理和逻辑判断。Service 用于处理业务逻辑,会调用mapper层的API;

        Service层是业务逻辑层,在该层进行复杂的业务逻辑处理,对在多个mapper层查到的数据进行组装、处理,然后将结果返回给Controller,因此,一般情况下,一个Controller中可能包括多个Service,
而一个Service中又或许包含多个mapper。
        (举例)controller层是饭店经理,service是服务员,mapper层是厨房仓库。
业务service层,给controller层的类提供接口进行调用。一般就是自己写的方法封装起来,就是声明一下,具体实现在serviceImpl中。

4. 控制器层(Controller层):
   - 控制器层是Web应用程序中的一部分,用于处理用户请求并返回响应。
   - 它接收来自用户界面(如浏览器)的请求,协调调用适当的服务层方法来处理请求,并根据处理结果生成响应。
   - 控制器层通常处理URL路由、参数解析、验证用户输入等任务,然后将处理结果传递给视图层进行渲染。

详细解释:controller层是用来接受前台数据和返回页面请求信息的,Controller层是不允许直接操作数据库的!它就像一个服务员,哪桌客人需要点菜了,就喊一声服务员!
       对应的,外界需要完成什么样的业务,就通过Controller去调用不同的Service,需要记住的是Controller只是一个中间者或者转发者,不应该在Controller里暴露Service的业务逻辑,而应该直接转发Service的业务处理结果!
       控制层,负责具体模块的业务流程控制,需要调用service逻辑设计层的接口来控制业务流程。
controller通过接收前端H5或者App传过来的参数进行业务操作,再将处理结果返回到前端。

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐