开发者学堂课程【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
文件上传的相关配置做了自动配置,ServerPr
o
pertiesAutoConfiguration.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 view
suffix
因为本身就不是固定的,前缀和后缀需要自己配置,自己配置要在application.properties 里进行配置,指定它的前缀和后缀。
6、ConditionalOnMissingBean 在没有配置 i
nterna
l
ResourceViewResolver
时它才会去配置,既然它做了自动配置,那么自己就不需要再进行配置。
7、如果自己要配置前缀和后缀,需要在 properties 文件里面通过这两个属性名进行配置。
spring. mvc. view.prefix= # Spring MVC view prefix.
spring. mvc.viẹw.suffix= # Spring MVC
view suffix.