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(视图解析器,不是必须的)
- applicationContext.xml------------
- 没有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方法#
- 没有spring相关的xml----------
- 自动配置
- 内嵌容器(tomcat jetty)
- 为什么没有执行WebApplicationInitializer ?因为servlet3.0必须建立在web环境下
- 什么是web项目:如何让tomcat承认它为web项目,
- 为什么没有执行WebApplicationInitializer ?因为servlet3.0必须建立在web环境下
- 没有xml:springMVC——web开发:tomcat启动---------调用ContexLoaderListener(会借助applicationContext.xml)去初始化spring IOC环境------注册了一个DispathcherServlet,让容器启动的时候调用Servlet的inti方法---------解析springMVC.xml------扫描controller、JacksonHttpMessageConverter、InternalResourceViewResolver-----完成springMVC的环境的搭建