java - Spring Boot 1.5.1 和 "The dependencies of some of the beans in the application context form a cycle"

标签 java spring spring-boot

几周前,我将 Spring 的版本从 1.4.x.RELEASE 升级到 1.5.1.RELEASE。

突然之间,由于这个错误,启动我的 Spring Boot 服务变成了一场战斗:

“应用程序上下文中某些bean的依赖关系形成一个循环”

相同的代码,不同的版本

这很有趣,因为在我的本地环境(OSX)上,相同的代码通常启动正常,但在 Heroku 上,在不同的部署上随机失败(看起来类路径类解析的顺序不同,由于操作系统或由于不同的 JDK 实现)

我什至重构了代码以在各处使用字段注入(inject)而不是构造函数一,但没有成功。

有什么建议吗?为什么这个 Spring 版本突然开始产生这些错误?

谢谢!

最佳答案

从日志中找出哪个 bean 是循环的原因,并在代码中为该 bean 使用 @Lazy 注释和 @Autowired。对于大多数情况,这应该可以解决问题。

关于java - Spring Boot 1.5.1 和 "The dependencies of some of the beans in the application context form a cycle",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42568049/

相关文章:

java - 在Android中获取 "My Documents"文件

java - spring security在java区域获取csrf token

java - IntelliJ 不会终止使用 gradle 构建的 Spring Boot 应用程序

spring - IntelliJ IDEA 运行选项卡可以有颜色吗?

html - 如何在 Java Swing 的 JPanel 中呈现基本的 HTML 标记?

java - Android:使用 NDK 从 SD 卡读取文件

java - Spring SimpleJdbcTemplate : java. lang.OutOfMemoryError:超出GC开销限制

spring-boot - 在 Spring Boot 2 中获取 'Whitelabel Error Page' 错误

spring-boot - 无法在 Spring 引导应用程序中禁用 ContextCredentialsAutoConfiguration

java - 备份mysql数据库java代码