当前位置: 首页 > wzjs >正文

比较有名的diy制作网站网站建设费用预算模板

比较有名的diy制作网站,网站建设费用预算模板,网站彩票代理怎么做,建筑八大员证报考网站WebMvcConfigurer接口及其相关实现类的详细对比 WebMvcConfigurer是Spring MVC的核心接口,用于扩展和自定义Spring MVC的配置行为。以下是其相关实现类的对比分析: 1. WebMvcConfigurer 接口 作用:定义Spring MVC的扩展点,允许用…

WebMvcConfigurer接口及其相关实现类的详细对比

WebMvcConfigurer是Spring MVC的核心接口,用于扩展和自定义Spring MVC的配置行为。以下是其相关实现类的对比分析:


在这里插入图片描述

1. WebMvcConfigurer 接口
  • 作用:定义Spring MVC的扩展点,允许用户自定义以下配置:

    • 拦截器(addInterceptors
    • 视图控制器(addViewControllers
    • 静态资源处理(addResourceHandlers
    • 消息转换器(configureMessageConverters
    • 异常处理(extendExceptionResolvers
    • 路径匹配规则(configurePathMatch
    • 模板解析器(addArgumentResolvers/addReturnValueHandlers)等。
  • 实现方式

    • 直接实现接口:需覆盖所有方法(推荐使用Java 8+的默认方法)。
    • 继承适配器类:旧版通过WebMvcConfigurerAdapter实现(已过时)。

2. WebMvcConfigurerAdapter(已过时)
  • 作用:Spring Framework 4.x中提供的适配器类,实现了WebMvcConfigurer接口的所有方法,提供空实现,方便用户继承并覆盖需要的方法。
  • 适用版本:Spring Framework 4.x(在Spring 5.x中被移除)。
  • 状态已弃用,推荐直接实现WebMvcConfigurer接口(Java 8+的默认方法简化了实现)。

3. Spring Boot的实现类

Spring Boot通过以下类实现WebMvcConfigurer接口,提供默认配置:

3.1 WebMvcAutoConfiguration
  • 作用:Spring Boot的核心自动配置类,负责初始化Spring MVC的默认行为(如静态资源处理、视图解析器、拦截器等)。
  • 实现方式
    • 直接实现接口:通过内部类或直接实现WebMvcConfigurer接口的方法(如configurePathMatchaddInterceptors)。
    • Spring Boot 3.x变化:不再依赖WebMvcAutoConfigurationAdapter,直接整合配置逻辑到WebMvcAutoConfiguration中。
3.2 WebMvcAutoConfigurationAdapter(已移除)
  • 历史作用(Spring Boot 2.x):作为WebMvcAutoConfiguration的内部类,适配WebMvcConfigurer接口,提供默认配置(如拦截器、格式化器等)。
  • Spring Boot 3.x状态已移除,其功能被直接整合到WebMvcAutoConfiguration中。

4. 用户自定义的实现类

用户可通过以下方式自定义配置:

@Configuration
public class MyWebConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new MyInterceptor());}
}

对比表格

类/实现方式作用实现方式适用版本状态
WebMvcConfigurerSpring MVC的扩展接口,定义所有配置方法接口,需用户或框架实现Spring 4.x+存在(核心接口)
WebMvcConfigurerAdapter提供空实现的适配器类(方便继承)实现WebMvcConfigurer接口,所有方法默认为空实现Spring 4.x(已移除于5.x)已过时/移除
WebMvcAutoConfigurationSpring Boot的自动配置类,提供MVC的默认配置(静态资源、拦截器等)直接实现WebMvcConfigurer接口,整合配置逻辑Spring Boot 2.x+存在(核心自动配置)
WebMvcAutoConfigurationAdapter(Spring Boot 2.x)适配WebMvcConfigurer接口的中间类(整合默认配置)内部类,实现WebMvcConfigurer接口Spring Boot 2.x已移除于3.x
用户自定义类用户自定义扩展配置(如添加拦截器、视图控制器)实现WebMvcConfigurer接口或继承适配器类(不推荐)Spring 4.x+存在(用户自定义)

关键差异与注意事项

  1. 适配器类的演变

    • Spring 4.x:用户通过继承WebMvcConfigurerAdapter简化实现。
    • Spring 5.x+WebMvcConfigurerAdapter被移除,推荐直接实现接口(Java 8的默认方法简化了实现)。
    • Spring Boot 3.xWebMvcAutoConfigurationAdapter被移除,配置逻辑直接整合到WebMvcAutoConfiguration中。
  2. 用户自定义配置的优先级

    • Spring Boot会合并默认配置与用户自定义配置,通过@Order@Configuration的加载顺序控制优先级。
  3. 推荐实践

    • 直接实现接口:在Spring 5.x+中,直接实现WebMvcConfigurer接口并覆盖所需方法。
    • 避免使用适配器:优先使用Java 8的默认方法特性,避免过时的适配器类。

示例:自定义配置类

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {// 覆盖需要的方法,其他方法默认实现由接口的默认方法提供@Overridepublic void addViewControllers(ViewControllerRegistry registry) {registry.addViewController("/home").setViewName("index");}
}

通过以上对比,可以清晰理解不同实现类的历史演变和当前Spring Boot 3.x中的最佳实践。


文章转载自:

http://mOaFYL8L.qcqbc.cn
http://bZUWyaOu.qcqbc.cn
http://AHkjomqU.qcqbc.cn
http://M9loE6TM.qcqbc.cn
http://1UvuLpYy.qcqbc.cn
http://GDZPwkSE.qcqbc.cn
http://rq6p43Ag.qcqbc.cn
http://5Eh18rMQ.qcqbc.cn
http://kOdEeFQN.qcqbc.cn
http://5ACTfhY9.qcqbc.cn
http://VQdGoXEz.qcqbc.cn
http://7P1GXIKD.qcqbc.cn
http://cenZunCi.qcqbc.cn
http://EzPsVUwN.qcqbc.cn
http://E8nhkMDU.qcqbc.cn
http://gUumyheI.qcqbc.cn
http://zvGtpaq2.qcqbc.cn
http://Euodfv6g.qcqbc.cn
http://ieV12l0F.qcqbc.cn
http://yMPmMSKD.qcqbc.cn
http://6IdpQtOd.qcqbc.cn
http://hsWrdVJP.qcqbc.cn
http://3y649S0E.qcqbc.cn
http://FNm2IRil.qcqbc.cn
http://EquFGjCO.qcqbc.cn
http://IQMIEm9l.qcqbc.cn
http://pgjwvDpf.qcqbc.cn
http://bg0at8Ic.qcqbc.cn
http://5sCF69CE.qcqbc.cn
http://VbTaB5Sq.qcqbc.cn
http://www.dtcms.com/wzjs/747807.html

相关文章:

  • 人才市场网站源码平面广告设计培训学校
  • 陕西网站建设咨询广州市公司网站建设价格
  • 横向网站可以访问的国外网站
  • 软装设计网站有哪些lnmp wordpress 500
  • 搜索引擎和门户网站的区别深圳华大基因公司简介
  • 北京门户网站设计招聘门户网站是什么意思
  • 做文字logo的网站网站教程
  • 网商网站怎么做怎么找到要做网站推广的客户资源
  • 如何搭建网站平台网站建设方案新闻
  • 网站懒加载怎么做社交网站开发流程
  • 温州网站建设技术托管常用的网络推广的方法有哪些
  • 网站如何做搜索引擎免费商标图案logo
  • 什么网站做专利检索报告wordpress评论按钮插件
  • 广州网站快速优化排名展览公司设计费
  • 北京建设建网站与动漫有关的专业
  • 组织网站设计公司甘露园网站建设
  • 学生网站建设总结报告表白视频制作网站
  • 吉他网站怎么做福州网页定制
  • 开发网页系统一般多少钱seo学徒培训
  • 网站后台怎么做飘窗合肥做网站设计
  • 网站弹窗是怎么做的网站建设 佛山
  • 天猫折扣店网站建设个人网站建设咨询电话
  • 漂亮网站设计适合广告公司的名字
  • 网站推广设计制作网站外包多少人做
  • 广州建立网站的公司网站cms搭建网站
  • 营销型网站建设域名京东网站建设的基本情况
  • 微网站建设开发工具专业网页设计
  • 个人网站建设方案书使用几号纸搜狐自助建站哪个平台好用
  • 国家住房和城乡建设厅网站网站下载织梦模板
  • 上海做网站的小公司公司网站后台更新