WebMvcConfigurerAdapter过时

 在用Spring框架时提示WebMvcConfigurerAdapter已经过时,查看源码发现属于抽象类实现了WebMvcConfigurer接口,使用了适配器设计模式。

JDK8之前是没有默认实现接口的,如果直接实现WebMvcConfigurer接口就得在实现类重写所有接口,不是很方便。

@Deprecated
public abstract class WebMvcConfigurerAdapter implements WebMvcConfigurer {
    public WebMvcConfigurerAdapter() {
    }

    public void configurePathMatch(PathMatchConfigurer configurer) {
    }

    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
    }

    public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
    }

    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
    }

Java1.8有了默认接口就不需要再用适配抽象类了,直接实现WebMvcConfigurer接口即可。

public interface WebMvcConfigurer {
    default void configurePathMatch(PathMatchConfigurer configurer) {
    }

    default void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
    }

    default void configureAsyncSupport(AsyncSupportConfigurer configurer) {
    }

    default void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
    }

    default void addFormatters(FormatterRegistry registry) {
    }

    default void addInterceptors(InterceptorRegistry registry) {
    }

源码并不完全,可以看出方法是一样的。从而把继承抽象类换成实现接口,面向接口编程。

猜你喜欢

转载自blog.csdn.net/weixin_38289787/article/details/103183165