Spring Boot第八篇-关于web静态资源的整合

1.环境:JDK+idea+spring boot2.63

2.打开spring-factories(相关介绍见第七篇)

找到WebMvc的自动配置文件,打开见源码。。。

Spring Boot第八篇-关于web静态资源的整合_第1张图片

源码中有一个addResourceHandlers()方法,参数是ResourceHandlerRegistry类型,

该方法的有两个If语句,说明它有两种静态资源导入的方式,先看一下第一个if()语句,在能读懂它之前,要先看懂webjars是什么?webjars就是一个能导入关于前端技术的网站,例如jQuery,boot starp等,通过该网站可以找到所需技术的依赖,这样就不用再导入相应的Jar包了

 这样这个if语句就能看懂了,将classpath:/META-INF/resources/webjars/路径映射到了/webjars/**

下了,以导入jQuery为例

再来看下第二个if语句判断条件中servletContext通过看它源码,就是一个web application的背景或者文本。。。英语不好。。。

Spring Boot第八篇-关于web静态资源的整合_第2张图片

 再来看下registration代表的是什么?

Spring Boot第八篇-关于web静态资源的整合_第3张图片

 打开mvcProperties源码,/**就是一个静态资源的路径,但是我们不可以自己建立静态资源路径吗?

Spring Boot第八篇-关于web静态资源的整合_第4张图片

 可以,看一下Resources的源码

 Spring Boot第八篇-关于web静态资源的整合_第5张图片

 该方法中的这四个位置都可以存放静态资源,创建Spring Boot工程时默认只创建static路径,如果需要,你可以创建其他三个。。。

Spring Boot第八篇-关于web静态资源的整合_第6张图片

 这样搞清JSP,html等静态资源可以放在哪里了。。。

注:运用thymeleaf技术时,相应静态资源要放在classpath:/templates/路径下,且后缀为。html文件。大家可以找到相应自动配置的源码进行分析。。。

Spring Boot第八篇-关于web静态资源的整合_第7张图片

你可能感兴趣的:(spring,boot,spring,boot,前端,intellij-idea)