SpringBoot的yaml配置可以写在多个位置,比如自动生成的SpringBoot项目的配置文件就在resources目录下,还可以在resources目录下新建config目录,将配置文件放入其中;也可以放在项目级目录(即与src目录同级)或者项目级目录的config目录下。总之可以放在下图中的四个位置:

以上四个位置的优先级依次是:/config/application.yaml > /application.yaml > /src/main/resources/config/application.yaml > /src/main/resources/application.yaml。

真实开发中有很多套环境,比如开发环境、测试环境、生产环境,可以用yaml的配置实现环境的切换,主要是通过给不同的环境配置赋予不同的spring.profiles的名称,不同的环境配置之间用---来分隔开,然后指定spring.profiles.active来激活想用的环境,这些配置都可以写在同一个yaml配置文件中:

server:
  port: 8080
spring:
  profiles:
    active: test

---
server:
  port: 8081
spring:
  profiles: dev

---
server:
  port: 8082
spring:
  profiles: test

静态资源也可以放在多个位置,比如一种不常见的webjars方式,以导入jQuery的js文件为例,可以引入相应的webjars的依赖:

<!-- jQuery的webjars依赖 -->
<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.6.0</version>
</dependency>

然后在项目依赖的jar包里就会看到org.webjars:jquery:

 上图中webjars目录可以直接在页面上访问到,输入localhost:8080/webjars/jquery/3.6.0/jquery.js即可访问到:

除了这种方式,静态资源还可以放在resources目录下的static目录、resources目录、public目录,如下图所示:

优先级依次是:resources > static > public。同理,首页index.html也可以放在如上三个位置,优先级顺序也一样,但这里的首页不能像SpringMVC一样放在resources目录下。

如果需要自定义静态资源的路径,只需修改spring.mvc.static-path-parttern属性值即可。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐