SpringBoot从1.5升2.7+SpringDoc运行报错:找不到mvcConversionService Bean
解决方案:SpringBoot 2.7 + SpringDoc 部署Tomcat 8.5 找不到
mvcConversionService 问题原因
Spring Boot 2.x 版本中,默认的ConversionService bean名称从mvcConversionService改为了conversionService,而部分版本的SpringDoc在初始化webConversionServiceProvider时,仍会尝试查找旧名称的bean,导致部署时抛出找不到bean的异常。
解决方法
方法一:显式注册mvcConversionService bean
创建WebMvc配置类,手动注册名为mvcConversionService的ConversionService实例,兼容SpringDoc的查找逻辑:
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.format.support.FormattingConversionService; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class CustomWebMvcConfig implements WebMvcConfigurer { @Bean(name = "mvcConversionService") public FormattingConversionService mvcConversionService() { FormattingConversionService conversionService = new FormattingConversionService(); // 若项目有自定义转换器,可通过conversionService.addConverter()添加 return conversionService; } }
方法二:匹配SpringDoc与SpringBoot 2.7的兼容版本
检查项目中SpringDoc的依赖版本,使用适配SpringBoot 2.7的稳定版本,比如springdoc-openapi-starter-webmvc-ui的2.x系列(如2.0.2),该版本已修复此类兼容性问题。
Maven依赖示例:
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.0.2</version> </dependency>
内容的提问来源于stack exchange,提问作者Bharata
相关产品推荐
相关产品推荐

