首页 > 解决方案 > 如何在 Google App Engine 环境中为 Springboot 应用程序获取更新的(测试)对象值?

问题描述

我正在开发在 GCP 环境中部署的 Springboot 应用程序,

在春季创建了一个单例对象,并且正在更新其他组件中的该对象值,并且该更新并未反映在我自动装配该组件的任何其他地方。

相同的逻辑适用于 Java 环境,但不适用于 Appengine 环境。

样本:

更新 spring 初始化的 bean。

@autowired 测试测试;

test.setNewData("temp");

在另一个组件中获取相同的 bean:

@autowired 测试测试;

test.getNewData(); // 这是由上面的组件更新的,在这里我必须接收更新的值。但获得旧值。

请帮帮我。提前致谢。

标签: spring-bootgoogle-app-enginegoogle-cloud-platform

解决方案


正如您所说,您正在尝试对静态的单例对象使用自动装配。这无论如何都不应该工作。您不能在 Spring 中自动装配静态字段,您需要为此编写自己的逻辑。这也在其他一些帖子中讨论过:帖子 1帖子 2

无论如何,对于在 App Engine 中开发应用程序的最佳方式,根本不建议使用 Autowiring,如您在Google App Engine 文档中所见


推荐阅读