WebMvcConfigurer.super.addResourceHandlers(registry); }
时间: 2024-10-16 15:06:21 浏览: 3
`WebMvcConfigurer.super.addResourceHandlers(registry)` 是Spring MVC框架中的一个配置方法,它通常在自定义的 `WebMvcConfigurerAdapter` 或 `WebMvcConfigurer` 接口中被调用。这个方法的作用是注册静态资源处理器到 Spring MVC 的资源处理器链路(ResourceHandlerRegistry),用于处理应用程序的静态内容如CSS、JavaScript文件等。
当你在子类中调用 `super.addResourceHandlers(registry)`,实际上是在继承了Spring提供的默认配置基础上,添加或修改资源处理器的行为。`registry` 参数是一个 `ResourceHandlerRegistry` 对象,你可以通过它设置静态资源的位置、URL前缀、缓存策略等属性。
举个例子,如果你希望将所有的静态资源放在 `/static` 目录下,并开启缓存,可以这样做:
```java
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/")
.setCachePeriod(3600);
}
```
相关问题
WebMvcConfigurer.super.addInterceptors(registry);
`WebMvcConfigurer`接口中有一个默认的`addInterceptors`方法,它的实现为空。在实现该接口时,我们可以根据需要重写该方法来添加自定义的拦截器(interceptor)。如果我们只是想添加一些拦截器,而不想完全重写该方法,可以使用`WebMvcConfigurer.super.addInterceptors(registry)`语句来调用父接口的默认实现,并在此基础上添加我们自己的拦截器。这样可以保证我们自定义的拦截器不会覆盖默认的拦截器。
WebMvcConfigurer.super.addInterceptors(registry);不是封闭类
您说得没错,`WebMvcConfigurer.super.addInterceptors(registry)`不是封闭类。实际上,这是一条Java语句,它调用了`WebMvcConfigurer`接口中的`addInterceptors`方法的默认实现。因为`WebMvcConfigurer`接口是一个普通的Java接口,其中的方法也都是普通的Java方法,所以该语句本质上并不是封闭类的一部分。