1、STS-> File -> New Spring Starter Project 自动联网
Service URL : http://start.spring.io
Name:SBWeb
Type : maven Package:Jar
Java Version: 8 Language: Java
Group : org.wl
ArtiFact:SBWeb
Description : webproject...
Package: org.boot.wl
2、场景选择器
Avaliable: web 搜索
选中Web模块下的Web
3、在org.boot.wl下创建controller包
@Controller
public class BootController{
@ResponseBody
@RequestMapping("/request")
public String request(){
return "hello spring boot!";
}
}
4、spring boot是一个jar,因此静态资源就不是再存放在webapps中,存放在哪里?
静态资源的存放路径由WebMvcAutoConfiguration类中-addResourceHandlers()指定:/webjars/
以前引入js等静态资源,是将这些资源下载并手工放入到webapp目录中,而spring boot将这些静态资源直接以jar文件的形式引入项目
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.3.1-1</version>
</dependency>
spring boot将静态资源存入到jar包中,引入:从Jar目录结构的webjars开始写:http://localhost:8080/webjars/jquery/3.3.1-1/jquery.js
如何自己写静态资源,如何放到如spring boot中?
spring boot约定:spring boot将一些目录结构设置成静态资源存放目录。
在ResourceProperties类中的CLASSPATH_RESOURCE_LOCATIONS中设置:
classpath: /META-INF/resources/, /resources/,/static/, /public/
classpath就对应src/main/resources目录
访问的时候不需要写这些资源路径的,比如: http://localhost:8080/hello.html
5、设置欢迎页
WebMvcAutoConfiguration类中的welcomePageHandlerMapping() --> getIndexHtml() -> location +"index.html",即任意一个静态资源目录中的index.html
6、网站中网页标签的logo是固定名字:favicon.ico
自定义favicon.ico : 只需要将favicon.ico文件放入任意静态资源目录中即可。
总结:1.通过源码发现静态资源的目录
2.用静态资源:只需要将静态资源放入以上目录即可
3.其他特定的文件(欢迎页、ico)只需要根据约定默认名放入资源目录即可
约定优于配置
配置静态资源:
spring.resources.static-locations=classpath:/res/,"classpath:/img/"
但是自定义之后就不能使用约定的目录