Springboot加载静态资源的方法
时间: 2024-10-01 18:10:58 浏览: 45
Spring Boot 自带了一种简单的方式来管理静态资源,通常用于提供 CSS、JavaScript、图片等前端文件。以下是它加载静态资源的一些常见方法:
1. **WebMvcConfigurer** 接口:Spring Boot 提供了一个名为 `WebMvcConfigurer` 的接口,你可以通过实现这个接口并覆盖 `addResourceHandlers()` 方法来自定义静态资源的路径。例如:
```java
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/");
}
}
```
这会将所有以 `/static/` 开头的请求映射到类路径下的 `static` 文件夹。
2. **StaticWebApplicationContext** 注解:如果你想要在某个特定的配置类中设置静态资源的位置,可以使用 `@EnableStaticFiles` 和 `@ComponentScan` 注解配合:
```java
@Configuration
@EnableStaticFiles
@ComponentScan(basePackages = "com.example.web")
public class StaticResourcesConfig {
}
```
这里 `basePackages` 指定了包含静态资源的包名。
3. **Multipart Configurations**:Spring Boot 也允许你在处理上传文件时启用一个默认的静态资源处理器。当上传的文件目录位于 `multipart.location` 配置值时,Spring会自动处理这些文件作为静态资源。
4. 使用 WebFlux:如果应用基于 WebFlux 架构,可以使用 `WebFluxConfigurer` 类来自定义静态资源访问:
```java
@Configuration
public class WebFluxConfig implements WebFluxConfigurer {
@Bean
public ResourceServer resourceServer() {
return new ResourceServer();
}
}
```
阅读全文