SpringBoot.xml的问题

Springboot进行springweb开发-----springMVC

  • 零配置
    • 没有xml:springMVC——web开发:tomcat启动---------调用ContexLoaderListener(会借助applicationContext.xml)去初始化spring IOC环境------注册了一个DispathcherServlet,让容器启动的时候调用Servlet的inti方法---------解析springMVC.xml------扫描controller、JacksonHttpMessageConverter、InternalResourceViewResolver-----完成springMVC的环境的搭建
      • 没有spring相关的xml----------
        • applicationContext.xml------------

          • 扫描业务bean(dao、service。。。)

          • 配置bean

        • springMVC.xml
          • 扫描controller

          • JacksonHttpMessageConverter(不是必须的):直接配置(SpringBoot)

          • InternalResourceViewResolver(视图解析器,不是必须的)

          •  
      • 没有web.xml--------------web.xml主要干了什么
        • 配置监听器ContexLoaderListener:因为在开发Spring项目首先应该初始化spring环境,要执行图2的代码,调用spring的applicationContext.xml,完成包含scan,类的实例化,类之间的依赖关系;如果是一个非wed项目,我们可以直接在main方法执行这段代码。但如果是一个web项目,由于web项目的入口是在tomcat中,而tomcat启动的时候会去解析web.xml,于是在web.xml中配置了ContexLoaderListener用来进行spring的初始化。

        • DispathcherServlet:在没有web.xml的情况下,如何注册给容器。springBoot直接new,调用器addServlet方法,然后设置inti方法和拦截请求(springBoot)

          • 拦截所有的请求#
          • 进行解析SpringMVC.xml
          • <load-on-startup>1<load-on-startup>让容器启动的时候调用该servlet的init方法#

    • 自动配置
    • 内嵌容器(tomcat jetty)
      • 为什么没有执行WebApplicationInitializer ?因为servlet3.0必须建立在web环境下
        • 什么是web项目:如何让tomcat承认它为web项目,

猜你喜欢

转载自blog.csdn.net/wzEminem/article/details/94437214