spring-boot - 如何在 Google App Engine 环境中为 Springboot 应用程序获取更新的(测试)对象值?
问题描述
我正在开发在 GCP 环境中部署的 Springboot 应用程序,
在春季创建了一个单例对象,并且正在更新其他组件中的该对象值,并且该更新并未反映在我自动装配该组件的任何其他地方。
相同的逻辑适用于 Java 环境,但不适用于 Appengine 环境。
样本:
更新 spring 初始化的 bean。
@autowired 测试测试;
test.setNewData("temp");
在另一个组件中获取相同的 bean:
@autowired 测试测试;
test.getNewData(); // 这是由上面的组件更新的,在这里我必须接收更新的值。但获得旧值。
请帮帮我。提前致谢。
解决方案
正如您所说,您正在尝试对静态的单例对象使用自动装配。这无论如何都不应该工作。您不能在 Spring 中自动装配静态字段,您需要为此编写自己的逻辑。这也在其他一些帖子中讨论过:帖子 1,帖子 2。
无论如何,对于在 App Engine 中开发应用程序的最佳方式,根本不建议使用 Autowiring,如您在Google App Engine 文档中所见
推荐阅读
- runtime - FileMaker 14 Runtime / High Sierra / 从服务器下载与复制
- sql-server - SQL Server 检查表中的特定字段是否已更新
- android - 拥有与 Google Playstore 帐户相同的 Firebase 帐户是否重要?
- javascript - bootstrap-vue,SyntaxError 意外标识符
- vba - 将数据加载到 Veriable UserForms 和控件中
- angular - 在角度上获取json文件
- c# - 处理来自 API 的响应
- java - 为什么一个非常大的双输入返回“Infinity”而不是 Java 中的错误?
- visual-studio - 在单独的 PC 上构建 Qt 时缺少依赖项
- html - pwa 应用没有使用清单图标安装在 android 中