我如何根据项目中是否没有注释的另一个不同的 bean 来控制 bean 的创建@EnableWebMvc
?
我试过
@ConditionalOnMissingBean(WebMvcConfigurationSupport.class)
正如这里所建议的,但没有运气。当@EnableWebMvc 存在时,我得到了这种矛盾的状态
WebMvcAutoConfiguration:不匹配:-@ConditionalOnMissingBean(类型:org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;SearchStrategy:全部)找到类型为“org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport”的bean org .springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration (OnBeanCondition)
并且
ProblemModulesRegisterer 匹配:- @ConditionalOnMissingBean(类型:org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;SearchStrategy:全部)没有找到任何 beans (OnBeanCondition)
所以它找到并没有找到类型的beanWebMvcConfigurationSupport
作为另一种尝试,我还比较了注册的 bean 和没有注册的 bean @EnableWebMvc
,发现没有它,有一个名为org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration
. 所以我尝试了一个,@ConditionalOnMissingBean(WebMvcAutoConfiguration.class)
但它仍然不起作用。它显示了这种矛盾的状态
WebMvcAutoConfiguration匹配:- @ConditionalOnClass 找到所需的类 'javax.servlet.Servlet'、'org.springframework.web.servlet.DispatcherServlet'、'org.springframework.web.servlet.config.annotation.WebMvcConfigurer' (OnClassCondition) - 找到'会话'范围(OnWebApplicationCondition)-@ConditionalOnMissingBean(类型:org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;SearchStrategy:all)没有找到任何bean(OnBeanCondition)
并且
ProblemModulesRegisterer 匹配:- @ConditionalOnMissingBean(类型:org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;SearchStrategy:全部)没有找到任何 beans (OnBeanCondition)
如此WebMvcAutoConfiguration
匹配(已创建)并且 missing 的依赖项WebMvcAutoConfiguration
也匹配
FFIVE
慕村225694
浮云间
相关分类