Loading... 在Spring Boot中,可以通过在`application.properties`或`application.yml`文件中配置`spring.resources.static-locations`属性来实现直接开放资源映射。 ## properties配置方法 以下是一个示例`application.properties`文件的配置: ```properties # 将静态资源文件夹的路径映射到URL的根路径下 spring.resources.static-locations=classpath:/static/ ``` 在上面的配置中,`spring.resources.static-locations`属性指定了静态资源文件夹的路径,这里将其设置为`classpath:/static/`,表示将静态资源文件夹的路径映射到URL的根路径下。因此,当访问`http://localhost:8080/`时,Spring Boot会在静态资源文件夹中查找`index.html`文件并返回给客户端浏览器。 如果需要将多个静态资源文件夹的路径映射到URL路径下,可以使用逗号分隔多个路径,例如: ```properties # 将静态资源文件夹的路径映射到URL的根路径下 spring.resources.static-locations=classpath:/static/,classpath:/public/ ``` 在上面的配置中,静态资源文件夹的路径分别为`classpath:/static/`和`classpath:/public/`,它们都被映射到URL的根路径下。 需要注意的是,如果在`application.properties`或`application.yml`文件中配置了`spring.resources.static-locations`属性,则需要手动添加静态资源文件夹并在其中添加静态资源文件。例如,可以在`src/main/resources/static`文件夹中添加静态资源文件,并在`application.properties`或`application.yml`文件中配置`spring.resources.static-locations`属性将其映射到URL路径下。 ## yml配置方法 以下是一个示例`application.yml`文件的配置,实现直接开放资源映射: ```yml spring: resources: static-locations: classpath:/static/ ``` 在上面的配置中,`spring.resources.static-locations`属性指定了静态资源文件夹的路径,这里将其设置为`classpath:/static/`,表示将静态资源文件夹的路径映射到URL的根路径下。 在这个示例中,可以在`src/main/resources`目录下创建一个名为`static`的文件夹,并将静态资源文件放在其中。这些静态资源文件就会被映射到URL路径下。 例如,假设有一个`index.html`文件位于`src/main/resources/static`文件夹中,那么可以通过访问`http://localhost:8080/`来访问该文件。 需要注意的是,如果使用了Spring Boot的默认配置,那么静态资源文件夹的路径应该是`src/main/resources/static`。如果需要更改静态资源文件夹的路径,可以在`application.properties`或`application.yml`文件中配置`spring.resources.static-locations`属性。 ## @Configuration配置类方法 除了在`application.properties`或`application.yml`文件中配置`spring.resources.static-locations`属性之外,还可以使用Java代码通过`@Configuration`注解来配置静态资源映射。 以下是一个示例`WebMvcConfig`类的代码,实现直接开放资源映射: ```java @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") .addResourceLocations("classpath:/static/"); } } ``` 在上面的代码中,`WebMvcConfig`类使用了`@Configuration`注解来标识它是一个配置类。该类实现了`WebMvcConfigurer`接口,并重写了其中的`addResourceHandlers()`方法。 在`addResourceHandlers()`方法中,通过`registry.addResourceHandler("/**")`指定了映射路径,这里将其设置为`"/**"`,表示将所有路径都映射到静态资源文件夹下。然后,通过`addResourceLocations("classpath:/static/")`指定了静态资源文件夹的路径,这里将其设置为`"classpath:/static/"`,表示将静态资源文件夹的路径映射到URL的根路径下。 在这个示例中,可以在`src/main/resources`目录下创建一个名为`static`的文件夹,并将静态资源文件放在其中。这些静态资源文件就会被映射到URL路径下。 需要注意的是,如果使用了Spring Boot的默认配置,那么静态资源文件夹的路径应该是`src/main/resources/static`。如果需要更改静态资源文件夹的路径,可以在`addResourceLocations()`方法中传入相应的参数。 最后修改:2023 年 03 月 13 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏