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

Posted ybkback2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

  

以上是关于Spring-Boot学习纪要-4:Spring-Boot与Web开发的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot学习资料

引点科技私房菜专栏之Spring-boot学习

Spring/Spring-Boot 学习2 入门知识

Spring-boot01

Spring-boot01

spring-boot学习笔记