当前位置: 首页 > 知识库问答 >
问题:

WebMVCConfigureAdapter类型已被弃用

庄子平
2023-03-14

我只是迁移到Spring mvc版本5.0.1。RELEASE,但突然在eclipse STS WebMvcConfigrerAdapter中被标记为不建议使用

public class MvcConfig extends WebMvcConfigurerAdapter {
  @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
        // to serve static .html pages...
        registry.addResourceHandler("/static/**").addResourceLocations("/resources/static/");
    }
  ....
  }

我怎么才能把它拿走!

共有3个答案

景承教
2023-03-14

在Spring,每个请求都会通过DispatcherServlet。为了避免通过DispatcherServlet(前端控制器)进行静态文件请求,我们配置了MVC静态内容。

Spring3.1。引入ResourceHandlerRegistry来配置ResourceHttpRequestHandler,以便为来自类路径、WAR或文件系统的静态资源提供服务。我们可以在web上下文配置类中以编程方式配置ResourceHandlerRegistry。

  • 我们已经将/js/**模式添加到ResourceHandler中,让我们包括foo。js资源位于webapp/js/目录
  • 我们已经向ResourceHandler添加了/resources/static/**模式,让我们包括foo。html资源位于webapp/resources/目录中
@Configuration
@EnableWebMvc
public class StaticResourceConfiguration implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        System.out.println("WebMvcConfigurer - addResourceHandlers() function get loaded...");
        registry.addResourceHandler("/resources/static/**")
                .addResourceLocations("/resources/");

        registry
            .addResourceHandler("/js/**")
            .addResourceLocations("/js/")
            .setCachePeriod(3600)
            .resourceChain(true)
            .addResolver(new GzipResourceResolver())
            .addResolver(new PathResourceResolver());
    }
}

XML配置

<mvc:annotation-driven />
  <mvc:resources mapping="/staticFiles/path/**" location="/staticFilesFolder/js/"
                 cache-period="60"/>

如果文件位于WAR的webapp/resources文件夹中,则Spring Boot MVC静态内容。

spring.mvc.static-path-pattern=/resources/static/**
周马鲁
2023-03-14

我现在一直在开发名为Springfox的Swagger等效文档库,我发现在Spring 5.0.8(目前正在运行)中,接口WebMVCConfiguer已经由classWebMvcConfigurationSupport类实现,我们可以直接扩展它。

import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

public class WebConfig extends WebMvcConfigurationSupport { }

这就是我如何使用它来设置我的资源处理机制,如下所示-

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("swagger-ui.html")
            .addResourceLocations("classpath:/META-INF/resources/");

    registry.addResourceHandler("/webjars/**")
            .addResourceLocations("classpath:/META-INF/resources/webjars/");
}
宗弘扬
2023-03-14

从Spring 5开始,您只需要实现接口WebMVCConfiguer

public class MvcConfig implements WebMvcConfigurer {

这是因为Java 8在包含WebMVCConfigureAdapter类功能的接口上引入了默认方法

请看这里:

https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter.html

 类似资料:
  • 问题内容: 我只是迁移到Spring MVC 版本,但突然在Eclipse STS中将WebMvcConfigurerAdapter标记为已弃用 我该如何删除! 问题答案: 从Spring 5开始,你只需要实现接口 这是因为Java 8在接口上引入了覆盖该类功能的默认方法

  • 我正在使用sublime来编写python脚本,下面的代码是为python中的硒使用webdriver_manager包自动安装驱动程序 代码运行良好,但我得到了类似的警告 如何修复这样的错误?

  • 问题内容: 我正在使用Spring Data Commons v2 +快照,并且看到a的构造函数已被弃用。这似乎发生在M1和M2之间。不幸的是,这是该接口的唯一[真实]实现。我想知道努力的方向,对于当前的开发有什么更好的选择。 问题答案: 只是已弃用的构造函数。代替 您现在可以使用 就是这样。

  • 组织。阿帕奇。Android 5.1中不推荐使用http类和AndroidHttpClient类。这些类不再被维护,您应该尽快将使用这些API的任何应用程序代码迁移到URLConnection类。 https://developer.android.com/about/versions/android-5.1.html#http 它建议切换到URLConnection类。没有足够的文档来准确记录如

  • 问题内容: 今天,我决定将我的android应用程序从Java转换为Kotlin!:)但是,当我输入以下内容时,我感到非常惊讶: 然后Android Studio告诉我:“’getActionView(MenuItem!):View!’ 已弃用。Java中已弃用“ 因此,在问您解决方案之前,我先问谷歌解决方案是什么,我相信我找到了解决方案:“直接使用getActionView()”。 所以我像这样

  • 目前我正在开发一个带有三个菜单项的底部导航栏的应用程序。我曾使用来单击项目。但现在我面临的问题是该方法已贬值。 应用程序语言:Java 问题:“setOnNavigationItemSelectedListener(com.google.android.material.bottomnavigation.BottomNavigationView.OnNavigationItemSelectedLi