开发者学堂课程【SpringBoot 实战教程: SpringBoot 的 Web 开发】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/651/detail/10787
SpringBoot 的 Web 开发
1、SpringBoot 实现的 web 开发实现的就是 springmac,只需要在工程中提供 spring-boot-starter-web 为依赖,SpringMvc 的 jar 包就直接依赖上了。
2、SpringBoot 提供了 spring-boot-starter-web 为 Web 开发予以支持,spring-boot-starter-web 提供了嵌入的 Tomcat 以及 SpringMvc 的依赖,Web 相关的自动配置存储在 spring-boot-autoconfigure. jar的org. springframework. boot. autoconfigure. web 下。
3、在 pom 文件中加spring-boot-starter-web,在依赖中就会出现 springmac 的 jar 包,就可以做 web 开发,加上这个依赖后,同时也依赖很多其他的包,比如tomcat,jackson,日志等等。
4、依赖之后,spring-boot-starter-web 做了哪些自动配置?自动配置在 autoconfigure.web 下,只要加入这个依赖,springboot 做的自动配置,就有以下这些。比如 HttpEncodingAutoConfiguration.class,它自动配置了 http 的编码,JacksonHttpMessageConvertersConfiguration.class jackson 的转换,MultipartAytoConfiguration.class 文件上传的相关配置做了自动配置,ServerPropertiesAutoConfiguration.class 自动配置的 server 容器,WebMvcAutoConfiguration.class是对应 springmac 的配置。
5、现在强调的是 web 开发,springboot 做了哪些 springmac 的自动配置呢?看源码即可。springboot 做 springmac 的自动配置必须有一个前提条件,需要存在Servlet . class,DispatcherServlet.class,WebMvcConfi gurerAdapte.class三个类,它才会去做 springmac 的自动配置。想到 springmac 就会想到视图解析器,最终转到的页面的前缀和后缀是什么,在之前 internalResourceViewResolver 需要在 springmac 的配置文件的 xml 中自己配置,现在springmac做了自动配置,它创建了 internalResourceViewResolver 对象,设置了前缀和后缀,调用 getview 方法配置前缀和后缀,getview 的返回值是 view,点击 view,可以看到前缀和后缀,通过这两个属性可以看出并没有给它设置固定的值。
Spring MVC view prefix
Spring MVC viewsuffix
因为本身就不是固定的,前缀和后缀需要自己配置,自己配置要在application.properties 里进行配置,指定它的前缀和后缀。
6、ConditionalOnMissingBean 在没有配置 internalResourceViewResolver时它才会去配置,既然它做了自动配置,那么自己就不需要再进行配置。
7、如果自己要配置前缀和后缀,需要在 properties 文件里面通过这两个属性名进行配置。
spring. mvc. view.prefix= # Spring MVC view prefix.
spring. mvc.viẹw.suffix= # Spring MVCview suffix.
