SpringBoot--->>>web-->>定制化原理

本文深入探讨了SpringBoot的定制化配置原理,通过分析流程:导入场景->自动配置启动->生成组件,揭示了如何利用@Bean、配置文件、定制化器接口和WebMvcConfiguer接口实现定制。同时解释了@EnableWebMvc如何接管SpringMvc并导致默认配置失效,以及如何通过扩展WebMvcConfiguer实现更多定制功能。
摘要由CSDN通过智能技术生成

原理分析

在SpringBoot中,通过之前的web开发原理的探究,会发现,SpringBoot底层总能自己根据场景跑起来。流程是:导入场景 -> 对应的AutoConfiguration就会启动 -> 生成各种组件 -> 组件和配置类上绑定了对应的Properties。

所以如果要进行开发中的定制化配置,就有以下的这些方式:

  1. 通过 @Bean 注解往容器中添加对应的组件,取代默认配置。因为这些自动配置类和里面添加的组件都有大量的 @ConditionalOnMissBean 这个注解,所以就能自己写组件和自动配置类。如果你认为你写的比Spring Boot好。

  2. 配置类直接跟配置文件项绑定,所以就能修改配置文件项进行定制化配置

  3. 实现 xxxxCustomizer 定制化器接口,完成定制化操作。这个定制化器由SpringBoot提供

  4. 通过配置类实现 WebMvcConfiguer 接口对web完成定制化功能的修改和增加。

  5. @EnableWebMvc + WebConfiguer 可以全面接管SpringMvc,使用了这个注解后SpringBoot底层写的所有关于web的资源的匹配、视图解析器都会失效,要自己写定制配置,定制或扩展功能。

    • 至于为什么使用了 @EnableWebMvc 注解后,静态资源等配置会失效,是因为

      • @EnableWebMvc 中 @Import(DelegatingWebMvcConfiguration.class)

      • 而 DelegatingWebMvcConfiguration extends We

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值