java - 在整个 Spring Boot Runtime 中存储 JSON 数据
问题描述
我有一个 Spring Boot 应用程序,并将文件中的一些配置上传到我的 Spring Boot 中
{
"importer": {
"name": "Project XYZ",
"description": "This project belongs to XYZ. It contains __ variants which are related.",
"root": "./src/test/resources/Project/Project1"
},
//and some other configurations
}
我也有我的模型课作为
@Data
public class AssetRootConfig {
@Id
private String key;
private AssetImport importer;
//some configurations
}
现在我想存储/保留这些值并在我的 Spring Boot 运行时使用它,方法是只实例化一次 /@Autowiring 模型类,而不是在所有类中使用 @Autowiring AssetRootConfig 来使用它。有什么办法可以做到这一点?
解决方案
如果你对 JSON 限制很灵活,你可以将你的结构放在你的属性文件中,并使用@ConfigurationProperties反序列化到你的模型中。但是你AssetRootConfig
不会被持久化在任何数据库中,而是代表你配置的某个部分。
如果这不是一个选项,您可以使用CommandLineRunner在启动后调用您的代码。然后,您可以从文件中读取 JSON 并使用某种存储库将其持久化(如果尚未持久化;))。保存后,您可以使用存储库来访问此特定实体。
推荐阅读
- flask - 错误:saml2.client_base:XML 解析错误:不适合我!!!在使用 haproxy 的 flask_saml 实现中
- azure-iot-edge - 通过边缘运行时模块访问 SMB 文件共享(不带 blob 存储模块)
- ios - Apple 移动产品类型常量,例如“Watch4,4”
- algorithm - Vue.js Dijkstra 算法的性能问题
- javascript - javascript获取网页的最新副本
- javascript - 在新的位置更改时更新地图上的标记位置 - 反应原生
- java - 如何将字符串从适配器传递给 Activity 到 Fragment 然后再传递给 Activity
- css - 网页缓存导致我为不同网页设置的背景图片被清空后才可以替换怎么办?
- html - 导航不显示
- c# - 从c#恢复sql数据库