Spring Boot 3.4.1整合SpringDoc与Spring Data Rest遇Associations Bean缺失问题
问题解决方案
核心原因
Spring Boot 3.4.x 升级后,Spring Data Rest 的内部组件结构发生调整,Associations 类的实例化逻辑变更,但 springdoc-openapi-starter-webmvc-ui 2.7.0 版本未适配该变化,导致自动装配时找不到对应 Bean。
正确实现方案
方案1:升级依赖(推荐)
将 springdoc 依赖替换为适配 Spring Boot 3.4.x 的版本,官方已修复兼容性问题,依赖配置如下:
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.0'
替换后无需额外配置,重启项目即可解决问题。
方案2:手动配置适配 Bean(临时方案)
若暂时无法升级依赖,可手动创建 Associations Bean 适配,代码如下:
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.rest.webmvc.mapping.Associations; import org.springframework.data.rest.webmvc.mapping.RepositoryResourceMappings; import org.springframework.data.rest.webmvc.support.RepositoryEntityLinks; @Configuration public class SpringDocDataRestConfig { @Bean public Associations associations(RepositoryResourceMappings mappings, RepositoryEntityLinks entityLinks) { return new Associations(mappings, entityLinks); } }
该 Bean 按照 Spring Data Rest 内部逻辑正确实例化 Associations,替代返回 null 的不合理实现。
验证方式
启动项目后访问默认路径 /swagger-ui.html,若能正常加载并展示 Spring Data Rest 接口文档,说明问题已解决。
内容的提问来源于stack exchange,提问作者viglu
相关产品推荐
相关产品推荐

