Spring-Boot学习纪要-4:Spring-Boot与Web开发

  spring-boot-starter-web的引用依赖情况如下:

  

 

   

 

 

  从图中可以看出spring-boot-starter-web已经引入spring-mvc和内嵌的tomcat,基本的使用并不难,这部分主要在于看源码。源码阅读后面另起随笔。

  其余基本的使用要点为:

  1.静态资源映射路径,从WebMvcAutoConfiguration源码中可得,首先支持webjars的引入方式(比如jquery的webjar),除此之外,静态资源映射路径读取WebMvcProperties.staticPathPattern,默认为/**;另外支持扫描 "classpath:/META-INF/resources/","classpath:/resources/", "classpath:/static/", "classpath:/public/"

  2.支持ResourceProperties对于资源的统一配置

  3.静态资源下的index.html被识别成欢迎页,被/**映射

  4.**/favicon.ico都是在静态资源下找的

  5.支持模板引擎JSP、Thymeleaf、Velocity、Freemarker,但是都需要引入对应的starter包(包括JSP,也并非默认就支持,需要引入包)

  6.可以通过实现WebMvcConfigurerAdapter来拓展Spring-MVC的配置。标注@EnableWebMvc时表示全面接管自动配置,不标注时只是拓展

  7.Spring自动配置中很多地方都采用了@Configuration的拓展标签,在用户自定义组件不存在时才启用自动配置对应的组件来配置,这块需要多关注于源码;另外,大部分组件提供了xxxConfigurer来帮忙进行拓展配置,xxxCustomizer帮助进行定制配置

     8.国际化,使用ResourceBundleMessageSource管理国际化资源文件,在页面使用fmt:message取国际化内容。本地可以通过自己注册LocalResolver组件完成自定义的国际化规则。

  9.本地依旧可以通过实现HandlerInterceptor注册自己的拦截器。不过需要注册自定义拦截器(通常是通过注册一个WebMvcConfigurerAdapter组件来完成注册)

  10.默认用ErrorMvcAutoConfiguration注册错误处理器

  11.对外提供ServerProperties来做一些属性的配置容器

  12.因为内嵌了tomcat包,所以默认就支持做Servlet的注册

  13.嵌入式的Servlet容器应该打成jar,便捷简单但是默认不支持JSP

  14.使用外置Servlet时,应该选定打war包,手动引入tomcat依赖,另外需要实现SpringBootServletInitializer

 

  

posted @ 2020-03-16 14:15  ybkback2018  阅读(200)  评论(0编辑  收藏  举报