当前位置: 首页 > news >正文

东莞专业网站制作设计建筑类培训网校排名

东莞专业网站制作设计,建筑类培训网校排名,帮别人做网站如何备案,微信运营商文章目录 Spring MVC什么是MVC模式Spring MVC优点SpringMVC 运行流程SpringMVC组件SpringMVC常用的注解有哪些SpringMVC的拦截器和过滤器有什么区别?执行顺序是什么 SpringBoot对SpringBoot的理解Spring和SpringBoot的关系?SpringBoot有哪些核心注解Spri…

文章目录

  • Spring MVC
    • 什么是MVC模式
    • Spring MVC优点
    • SpringMVC 运行流程
    • SpringMVC组件
    • SpringMVC常用的注解有哪些
    • SpringMVC的拦截器和过滤器有什么区别?执行顺序是什么
  • SpringBoot
    • 对SpringBoot的理解
    • Spring和SpringBoot的关系?
    • SpringBoot有哪些核心注解
    • SpringBoot的自动配置原理
    • 为什么SpringBoot的可以直接运行

Spring MVC

Spring MVC :是基于spring的一个开源框架,实际上是spring的一个模块,专门用来做web开发的。可以理解为Servlet的一个升级。所有的web开发底层都是Servlet,框架是在Servlet基础上简化开发并且加入一些功能。

web开发底层是Servlet,springMVC中有一个对象时Servlet:DispatherServlet(中央调度器),负责接收用户的所有请求,用户把请求给了DispatherServlet,之后DispatherServlet把请求转发给我们的Controller(@Controller创建的对象)对象,最后是Controller对象处理请求。

什么是MVC模式

M——Model模型:完成业务逻辑,由JavaBean构成,service + dao+entity

V——view视图:看到的页面

C——Controller控制器:接收请求、调用模型

当一个请求发送过来之后,会先到到Controller控制层,控制层在交给Model模型层处理,Model层处理完成之后,返回处理结果给Controller层,在通过View视图层渲染后相应给用户。

Spring MVC优点

  1. 基于MVC结构。分工明确,解耦合
  2. 容易理解,上手快,使用简单
  3. 作为spring框架的一部分,方便整合Mybatis等其他框架。
  4. SpringMVC强化注解的使用。

SpringMVC 运行流程

在这里插入图片描述

  1. 前端发送过来的请求,先经过DispatcherServlet中央处理器也称为前端控制器。

  2. 前端控制器DispatcherServlet接收请求后,调用映射处理器HandlerMapping。

    HandlerMapping根据请求的URL找到处理该请求的Handler(即Controller),将处理器Handler返回给前端控制器。

  3. 前端控制器根据获取到的Handler,选择一台合适的HandlerAdapter处理适配器,处理适配器调用处理器相应的处理方法。

  4. Handler执行后,向DispatcherServlet返回一个ModelAndView对象。

  5. 对返回的ModelAndView进行视图解析,将View返回给DispatcherServlet。

  6. View结合Model进行视图渲染。

  7. 响应给客户。

SpringMVC组件

  • DispatcherServlet:Spring中提供了DispatcherServlet类,它从HTTPServlet继承而来,他就是Spring MVC中的前端控制器。
  • HandlerMapping:DispatcherServlet自己并不处理请求,而是将请求交给页面控制器。那么在DispatcherServlet中如何选择正确的页面控制器呢?这件事就交给了HandlerMapping,进过HandlerMapping处理之后,DispatcherServlet就知道要调用哪个页面处理器来处理了。
  • HandlerAdapter:经过了HandlerMapping 处理之后,DispatcherServlet就获取到了处理器,但是处理器有多种,为了方便调用,DispatcherServlet将这些处理器包装成处理适配器HandlerAdapter,HandlerAdapter调用真正的处理器的功能处理方法,完成处理功能,并返回一个ModelAndView对象。

SpringMVC常用的注解有哪些

@RequestMapping:用于映射web请求,包括访问路径和参数

@RestController:该注解为一个组合注解,相当于@Controller和@ResponseBody的组合,注解在类上,意味着该Controller的所有方法都默认加了@ResponseBody。

@ResponseBody:支持将返回值放到response内,而不是一个页面,通常用户返回json数据。

@RequestBody:允许request的参数在request体内,而不是在直接连接的地址后面。

SpringMVC的拦截器和过滤器有什么区别?执行顺序是什么

过滤器是Servlet规范规定的对所有的web请求起作用,而拦截器只对action起作用;

过滤器依赖于Servlet容器,而拦截器不依赖于Servlet容器;

过滤器不能访问容器中的Bean(DI)(基于Spring注册过的过滤器也可以访问容器中的Bean),而拦截器可以访问

执行顺序:

在这里插入图片描述

SpringBoot

对SpringBoot的理解

SpringBoot是用来快速开发spring应用的脚手架,其设计目的是用来简化spring应用的初始化搭建以及开发工程。

springBoot内置web服务器,省略了Web.xml,直接运行jar文件就可以启动web应用;

SpringBoot帮我们管理了常用的第三方依赖版本,减少了版本冲突问题;

提供自动配置,对主流框架无配置集成,开箱即用。

Spring和SpringBoot的关系?

SpringBoot是Spring生态产品;

SpringBoot他不是一个框架,它是一个可以快速构件基于spring的脚手架,二者不是一个层面的东西,没有可比性。

SpringBoot有哪些核心注解

@SpringBootApplication注解:这个注解标识了SpringBoot工程,写在启动类上

@SpringBootConfiguration:这个注解实际就是一个@Configuration,表示启动类也是一个配置类

@EnableAutoConfiguration:启动自动配置类的。自动扫描所有的自动配置类并启动

SpringBoot的自动配置原理

  1. 通过@SpringBootConfiguration引入@EnableAutoConfiguration负责启动自动配功能
  2. @EnableAutoConfiguration引入了@import
  3. Spring容易启动时:加载IOC容器时会解析@Import注解
  4. @Import导入了一个deferredImportSelector,它会使SpringBoot的自动配置类的顺序在最后,这样方便扩展和覆盖
  5. 然后读取所有的/META-INF/spring.factories文件
  6. 过滤出所有AutoConfigurationClass类型的类
  7. 最后通过@Condition排除无效的自动配置类。

为什么SpringBoot的可以直接运行

  1. SpringBoot提供了一个插件spring-boot-maven-plugin用于把程序打包称为一个可执行的jar包;
  2. SpringBoot应用打包后生成一个Fat jar(包含jar包的jar),包含了应用依赖的jar和SpringBoot loader相关的类;
  3. 通过指令java - jar运行jar时会去找jar中的manifest文件,在那里面找到真正的启动类(Main-Class);
  4. Fat jar的启动Main函数是JarLauncher,找到manifest中的Start-Class
http://www.yayakq.cn/news/458844/

相关文章:

  • 网站源码交易网长春网站建设公司怎么样
  • 网站建设教程 零基础做的网站有广告
  • 网站建设制作有那些网站开发自我介绍代码
  • 河间做网站 申梦网络福州网站建设 找燕狂徒 04
  • 安顺 网站建设做网站的注意点
  • 在手机上创建网站唐山网站怎么做seo
  • 昭通昭阳区城乡建设管理局网站百度百度一下官网
  • 建设部网站官网 取消八大员永州网站网站建设
  • 网站的要素是什么宁波网站推广哪家公司好
  • 搜索网站排名优化养生网站建设
  • 太原网站搜索优化台州网站建设蓝渊
  • dw做网站注册页代码wordpress新站5天收录
  • 玉溪网站建设公司哪家好海曙seo关键词优化方案
  • 自己建的网站地址蝴蝶传媒网站推广
  • 网站建设原理试卷早8晚5双休的工作
  • 有人做网站吗reeoo
  • 做钢材什么网站好无锡百度推广代理商
  • 加强酒店网站建设的建议网络任务推广
  • 景观设计网站推荐网站后台模板修改用什么软件
  • 有哪些网站教做吃的南京网站开发培训
  • 浙江省网站建设报价自己的网站怎么做关键词优化
  • 专业做淘宝网站公司哪家好Drupal对比WordPress
  • 劳动服务公司网站源码wordpress中文对照
  • 邢台营销型网站建设淘宝做网站为什么那么便宜
  • 免费网站系统太原有哪些做网站的公司
  • 可以做网站的公司温州企业网站seo
  • 简繁网站怎么做网页设计登录页面怎么做
  • 做请帖的网站网站开发都学什么
  • 公司注册网站建设德庆网站建设价格
  • 个人网站域名快速备案软文营销广告