SpringMVC框架学习

java 学习笔记指路
基础知识

Python转java补充知识
Java中常见的名词解释

前端

【黑马程序员pink老师前端】HTML
【黑马程序员pink老师前端】JavaScript基础大总结
【黑马程序员pink老师前端】JavaScript函数与作用域
【黑马程序员pink老师前端】JavaScript对象

数据库

【黑马程序员数据库】数据库基础大总结
【黑马程序员数据库】数据库引擎
【黑马程序员数据库】数据库索引

SQL编程

【牛客】SQL刷题篇入门篇
【牛客】SQL刷题篇进阶篇

Java 框架

spring框架学习
SpringMvc框架学习
SpringBoot 框架学习
Mybatis-plus 快速入门
Maven基础
Zookeeper初认识
HTTP简介
Tomcat
Servlet
vue入门

目录


SpringMvc框架中的Controller层、Service层、Dao层关系和作用

  • dao(数据访问层):负责与数据打交道。通过Spring配置文件与数据库进行连接,封装了对数据库进行增删改查的基本操作。
  • service(服务层):建立在dao层上面,controller下面,提供服务。对一个dao或多个dao进行再次封装,封装成一个服务类。
  • controller(业务层):负责各个模块的管理控制;负责url映射地址。管理用户操作,根据用户请求来调用对应服务以便完成请求处理等;对service进行调用。

其中dao与service层在开发中,需要先进行接口的设计,接着再设计实现接口的类。

之所以这样会是因为会更符合MVC模式的理念,也符合大多数人的编程习惯,并且极大减少了开发的工作量,使其后期维护也较为轻松,更为重要的一点是可以极大地保障数据的安全,防止controller层对数据库直接进行操作。

Controller:接收参数,告诉Service层我要增、删、改这个角色,并且返回结果
service:负责处理增、删、改角色的逻辑,也就是增、删、改完角色还要增、删、改用户
Dao:负责把Service交代的东西真正的增、删、改掉

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

Controller层

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

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

Service层

简单来说就是对一个或多个Dao进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。

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

Dao层

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

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

框架和 mybatis之间的关系

你可能感兴趣的:(学习,springmvc,ssm,spring)