详解Spring Boot 目录文件结构

 更新时间:2020年07月04日 09:52:46   作者:认真对待世界的小白  
这篇文章主要介绍了Spring Boot 目录文件结构的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下

1.目录结构

src/main/java:存放代码

src/main/resources

  • resources:(Spring Boot 默认的)存放资源文件
  • static:(Spring Boot 默认的)存放静态文件,比如 css、js、image, (访问方式 http://localhost:8080/js/main.js)
  • public:(Spring Boot 默认的)存放公共文件
  • templates:(用户自己定义的,可以随便取名,但这里使用公认的文件名)存放静态页面,比如 jsp、html、tpl
  • config:(用户自己定义的,可以随便取名,但这里使用公认的文件名)存放配置文件,比如 application.properties

2.同个文件的加载顺序,静态资源文件

Spring Boot 默认会挨个从 META/resources > resources > static > public 里面找是否存在相应的资源,如果有则直接返回。

比如:我们在这几个文件夹下都新建一个 js 文件,看它会去加载哪个文件。

地址栏输入以下地址:http://localhost:8080/test.js,这里我们没有在 resources 文件夹下建 test.js 文件,所以会去加载 static 文件夹下面的文件

上图所示,我们新建了一个 templates 文件夹,里面新建了一个 index.html 文件,因为 templates 不是 Spring Boot 默认文件夹,所以我们访问不到这个文件夹里的文件,即使其他文件夹没有同名文件。

要想访问,需要引入依赖(注意:如果不引人这个依赖包,html 文件应该放在默认加载文件夹里面,比如 resources、static、public 这个几个文件夹,才可以访问)

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

写一个测试映射

@RequestMapping(value = "/api/v1/gopage") 
public Object index() {
  return "index";
}

输出效果

Spring Boot 给我们定义了一些默认资源文件夹及其加载顺序,但如果用户新增了一些自定义文件夹或者是想改变资源文件的加载顺序,可以在根目录下,新建一个 application.properties。

可以自己设置加载顺序,也可以添加自己新增的文件夹,如果用户自己新增 application.properties,则Spring Boot会去读这个文件来决定默认文件夹及其加载顺序

官网说明:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-static-content

以上就是详解Spring Boot 目录文件结构的详细内容,更多关于Spring Boot 目录文件结构的资料请关注脚本之家其它相关文章!

相关文章

  • 新手初学Java面向对象

    新手初学Java面向对象

    这篇文章主要介绍了Java语言面向对象编程思想之类与对象实例详解,还是十分不错的,这里给大家分享下,需要的朋友可以参考,希望能帮到你
    2021-07-07
  • java图搜索算法之图的对象化描述示例详解

    java图搜索算法之图的对象化描述示例详解

    这篇文章主要为大家介绍了java图搜索算法之图的对象化描述示例详解,可以带你秒杀所有的图搜索算法,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • Java数据结构--时间和空间复杂度

    Java数据结构--时间和空间复杂度

    这篇文章主要介绍了java数据结构的时间和空间复杂度,小编觉得这篇文写的不错,感兴趣的朋友可以了解下,希望能够给你带来帮助
    2021-08-08
  • 一文搞懂java中的栈和括号匹配

    一文搞懂java中的栈和括号匹配

    栈在我们日常编码中遇到的非常多,很多人对栈的接触可能仅仅局限在 递归使用的栈 和 StackOverflowException,栈是一种后进先出的数据结构(可以想象生化金字塔的牢房和生化角斗场的狗洞)
    2023-11-11
  • Java动态验证码单线设计的两种方法

    Java动态验证码单线设计的两种方法

    这篇文章主要介绍了Java动态验证码单线设计的两种方法,需要的朋友可以参考下
    2018-07-07
  • Spring Boot Cache使用方法整合代码实例

    Spring Boot Cache使用方法整合代码实例

    这篇文章主要介绍了Spring Boot Cache使用方法整合代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • @NotEmpty、@NotBlank、@NotNull的区别

    @NotEmpty、@NotBlank、@NotNull的区别

    这篇文章主要介绍了@NotEmpty、@NotBlank、@NotNull的区别,需要的朋友可以参考下
    2016-09-09
  • SpringBoot应用线上重启脚本的命令详解

    SpringBoot应用线上重启脚本的命令详解

    这篇文章主要介绍了SpringBoot应用线上重启脚本,通过查找应用进程PID,杀死应用进程PID,运行启动脚本,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • java实现打字游戏小程序

    java实现打字游戏小程序

    这篇文章主要为大家详细介绍了java实现打字游戏小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • Java对象数组定义与用法详解

    Java对象数组定义与用法详解

    这篇文章主要介绍了Java对象数组定义与用法,结合实例形式分析了java对象数组的概念、功能、定义与使用方法,需要的朋友可以参考下
    2019-08-08

最新评论