加入收藏 | 设为首页 | 会员中心 | 我要投稿 吉安站长网 (https://www.0796zz.com.cn/)- 科技、图像处理、媒体智能、办公协同、操作系统!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

运营商要扩大营收规模,这些门道必不可少

发布时间:2021-01-30 19:16:51 所属栏目:传媒 来源:互联网
导读:DispatcherServlet 表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,接收请求并拦截请求。 HandlerMapping 为处理器映射。DispatcherServlet调用 HandlerMapping,HandlerMapping根据请求url查找Handler。 HandlerExecution 表示具体的Handler,其
  • DispatcherServlet 表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,接收请求并拦截请求。
  • HandlerMapping 为处理器映射。DispatcherServlet调用 HandlerMapping,HandlerMapping根据请求url查找Handler。
  • HandlerExecution 表示具体的Handler,其主要作用是根据url查找控制器,如上url被查找控制器为:hello。
  • HandlerExecution 将解析后的信息传递给 DispatcherServlet,如解析控制器映射等。
  • HandlerAdapter 表示处理器适配器,其按照特定的规则去执行Handler。
  • Handler 让具体的 Controller 执行。
  • Controller 将具体的执行信息返回给 HandlerAdapter,如ModelAndView。
  • HandlerAdapte r将视图逻辑名或模型传递给 DispatcherServlet。
  • DispatcherServlet 调用视图解析器(ViewResolver)来解析 HandlerAdapter 传递的逻辑视图名。
  • 视图解析器将解析的逻辑视图名传给 DispatcherServlet。
  • DispatcherServlet 根据视图解析器解析的视图结果,调用具体的视图。
  • 最终视图呈现给用户。

Spring MVC 虽然整体流程复杂,但是实际开发中很简单,大部分的组件不需要开发者创建跟管理,只需要通过配置文件的方式完成配置即可,真正需要开发者进行处理的只有 Handler 、View 、Modle。

但是随着前后端分离跟微服务的发展,一包走天下的开发模式其实用的不是很多了,大部分情况下是 SpringBoot + Vue。

11. Spring Boot

11.1 Spring Boot简介

Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。Spring Boot 以约定大于配置核心思想开展工作,相比Spring具有如下优势:

Spring Boot 可以建立独立的Spring应用程序。

Spring Boot 内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再做部署工作了。

Spring Boot 无需再像Spring那样搞一堆繁琐的xml文件的配置。

Spring Boot 可以自动配置(核心)Spring。SpringBoot将原有的XML配置改为Java配置,将bean注入改为使用注解注入的方式(@Autowire),并将多个xml、properties配置浓缩在一个appliaction.yml配置文件中。

Spring Boot 提供了一些现有的功能,如量度工具,表单数据验证以及一些外部配置这样的一些第三方功能。

Spring Boot 整合常用依赖(开发库,例如spring-webmvc、jackson-json、validation-api和tomcat等),提供的POM可以简化Maven的配置。当我们引入核心依赖时,SpringBoot会自引入其他依赖。

11.2 SpringBoot 注意点

1.SpringBoot 抽离

  • 将所有的功能场景都抽取出来,做成一个个的starter,spring-boot-starter-xxx 就是spring-boot的场景启动器。只需要在项目中引入这些starter即可,所有相关的依赖都会导入进来 。

2.自动配置原理

  1. SpringBoot在启动的时候从类路径下的 META-INF/spring.factories 中获取 EnableAutoConfiguration 指定的值
  2. 我们看我们需要的功能有没有在SpringBoot默认写好的自动配置类 xxxxAutoConfigurartion 当中。
  3. 我们再来看这个自动配置类中到底配置了哪些组件;(只要我们要用的组件存在在其中,我们就不需要再手动配置了)。
  4. 给容器中自动配置类添加组件的时候,会从 xxxxProperties 类中获取某些属性。我们只需要在配置文件中指定这些属性的值即可。

3.各种组件的整合

  • 比如整合MyBatis、Redis、Swagger、Security、Shrio、Druid等,百度教程即可。

11.3 Springboot启动原理的底层

SpringApplication这个类主要做了以下四件事情:

  • 推断应用的类型是普通的项目还是Web项目
  • 查找并加载所有可用初始化器 , 设置到initializers属性中
  • 找出所有的应用程序监听器,设置到listeners属性中
  • 推断并设置main方法的定义类,找到运行的主类

SpringBoot启动大致流程如下(源网侵删):

 

(编辑:吉安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读