[SpringBoot2]定制化原理_SpringBoot定制化组件的几种方式

Posted 唐火

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[SpringBoot2]定制化原理_SpringBoot定制化组件的几种方式相关的知识,希望对你有一定的参考价值。

定制化原理

定制化的常见方式

● 修改配置文件;
● xxxxxCustomizer;
● 编写自定义的配置类 xxxConfiguration;+ @Bean替换、增加容器中默认组件;视图解析器
● Web应用 编写一个配置类实现 WebMvcConfigurer 即可定制化web功能;+ @Bean给容器中再扩展一些组件

@Configuration
public class AdminWebConfig implements WebMvcConfigurer

● @EnableWebMvc + WebMvcConfigurer —— @Bean 可以全面接管SpringMVC,所有规则全部自己重新配置; 实现定制和扩展功能
○ 原理
○ 1、WebMvcAutoConfiguration 默认的SpringMVC的自动配置功能类。静态资源、欢迎页…
○ 2、一旦使用 @EnableWebMvc 、。会 @Import(DelegatingWebMvcConfiguration.class)
○ 3、DelegatingWebMvcConfiguration 的 作用,只保证SpringMVC最基本的使用
■ 把所有系统中的 WebMvcConfigurer 拿过来。所有功能的定制都是这些 WebMvcConfigurer 合起来一起生效
■ 自动配置了一些非常底层的组件。RequestMappingHandlerMapping、这些组件依赖的组件都是从容器中获取
■ public class DelegatingWebMvcConfiguration extends WebMvcConfigurationSupport
○ 4、WebMvcAutoConfiguration 里面的配置要能生效 必须 @ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
○ 5、@EnableWebMvc 导致了 WebMvcAutoConfiguration 没有生效。
● … …

原理分析套路

场景starter - xxxxAutoConfiguration - 导入xxx组件 - 绑定xxxProperties – 绑定配置文件项

以上是关于[SpringBoot2]定制化原理_SpringBoot定制化组件的几种方式的主要内容,如果未能解决你的问题,请参考以下文章

Springboot2之静态资源规则与定制化welcome与favicon功能Rest映射及源码解析以及改变默认的_method

Springboot2之静态资源规则与定制化welcome与favicon功能Rest映射及源码解析以及改变默认的_method

SpringBoot2 整合ElasticJob框架,定制化管理流程

[Spring Boot] 2. Spring Boot 启动过程定制化

[Spring Boot] 2. Spring Boot 启动过程定制化

第274天学习打卡(知识点回顾 springboot 定制化原理)