原理分析
在SpringBoot中,通过之前的web开发原理的探究,会发现,SpringBoot底层总能自己根据场景跑起来。流程是:导入场景 -> 对应的AutoConfiguration就会启动 -> 生成各种组件 -> 组件和配置类上绑定了对应的Properties。
所以如果要进行开发中的定制化配置,就有以下的这些方式:
-
通过 @Bean 注解往容器中添加对应的组件,取代默认配置。因为这些自动配置类和里面添加的组件都有大量的 @ConditionalOnMissBean 这个注解,所以就能自己写组件和自动配置类。如果你认为你写的比Spring Boot好。
-
配置类直接跟配置文件项绑定,所以就能修改配置文件项进行定制化配置
-
实现 xxxxCustomizer 定制化器接口,完成定制化操作。这个定制化器由SpringBoot提供
-
通过配置类实现 WebMvcConfiguer 接口对web完成定制化功能的修改和增加。
-
@EnableWebMvc + WebConfiguer 可以全面接管SpringMvc,使用了这个注解后SpringBoot底层写的所有关于web的资源的匹配、视图解析器都会失效,要自己写定制配置,定制或扩展功能。
-
至于为什么使用了 @EnableWebMvc 注解后,静态资源等配置会失效,是因为
-
@EnableWebMvc 中 @Import(DelegatingWebMvcConfiguration.class)
-
而 DelegatingWebMvcConfiguration extends We
-
-