zoukankan      html  css  js  c++  java
  • Spring核心组件

    SpringCore

    Core组件一个重要组成部分就是定义了资源的访问方式。Core组件把所有资源都抽象成一个接口,这样,对于资源使用者来说,不需要考虑文件的类型。对于资源提供者来说,也不需要考虑如何将资源包装起来交给别人用(Core组件内所有的资源都可以通过InputStream来获取)。另外,Core组件内资源的加载都是由ResourceLoader接口完成的,只要实现这个接口就可以加载所有的资源。

    SpringContext

    该组件的作用就是给Spring提供一个运行时的环境,用以保存各个对象的状态。

    Bean

    Bean组件在Spring的org.springframework.beans包下,主要完成了Bean的创建、Bean的定义以及Bean的解析三件事。
    SpringBean的创建是典型的工厂模式,其工厂的继承层次关系如图所示:
    工厂的继承层次关系
    在工厂模式中,在工厂的实现类中生成 Bean 返回给调用客户端,这就要求客户端提供生成自己所需类实例的工厂类,增加客户负担。

    SpringMVC执行流程

    1、用户发送请求到前端控制器DispatcherServlet;
    2、前端控制器DispatcherServlet接收到请求后,DispatcherServlet会使用HandlerMapping来处理,HandlerMapping会查找到进行处理请求的Handler对象;
    3、HandlerMapping找到对应的Handler之后,并不是返回一个Handler原始对象,而是一个Handler执行链(HandlerExecutionChain),在这个执行链中包括了拦截器和处理请求的Handler。HandlerMapping返回一个执行链给DispatcherServlet;
    4、DispatcherServlet接收到执行链后,会调用Handler适配器去执行Handler;
    5、HandlerAdapter执行完成Handler之后会得到一个ModelAndView,并返回给DispatcherServlet;
    6、DispatcherServlet接收到HandlerAdapter返回的ModelAndView之后,会根据其中的视图名调用ViewResovler;
    7、ViewResolver根据逻辑视图名解析成一个真正的View视图,并返回给DispatcherServlet;
    8、DispatcherServlet接收到视图之后,会根据上面的ModelAndView中的model来进行视图中数据的填充,也就是所谓的视图渲染;
    9、将渲染完成之后,DispatcherServlet就可以将结果返回给用户了。

    SpringBoot核心注解和自动配置原理

    @SpringBootConfiguration组合了@Configuration注解,实现配置文件的功能;@EnableAutoConfiguration打开自动配置的功能,也可以关闭某个自动配置的功能,如关闭数据源自动配置功能;@ComponentScan进行Spring组件扫描。
    注解@EnableAutoConfiguration,@Configuration,@ConditionalOnClass就是自动配置的核心,@EnableAutoConfiguration给容器导入META-INF/spring.factories里定义的自动配置类。

  • 相关阅读:
    hive笔记
    hive数据倾斜的解决办法
    Kafka笔记7
    kafka笔记6
    Kafka笔记5
    kafka笔记4(2)
    kafka笔记4
    Kafka笔记3
    kafka笔记2
    kafka笔记1
  • 原文地址:https://www.cnblogs.com/yyml181231/p/13021725.html
Copyright © 2011-2022 走看看