Хранить JSON данных во всей среде выполнения Spring Boot - PullRequest
0 голосов
/ 19 июня 2020

У меня есть приложение для весенней загрузки, и я загружаю некоторые конфигурации из файла в свою весеннюю загрузку как

{
  "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
}

Теперь я хотите сохранить / сохранить эти значения и использовать их во время моей весенней загрузки, создав экземпляр класса модели только один раз, а не @Autowiring AssetRootConfig во всех классах, чтобы использовать его. Есть ли способ добиться этого?

1 Ответ

0 голосов
/ 19 июня 2020

Если вы гибко относитесь к ограничению JSON, вы можете поместить свою структуру в свой файл свойств и использовать @ ConfigurationProperties для десериализации в вашей модели. Но тогда ваш AssetRootConfig не будет сохраняться в какой-либо базе данных, а будет представлять определенную часть вашей конфигурации.

Если это не вариант, вы можете использовать CommandLineRunner для вызова вашего кода после запуска. Затем вы можете прочитать свой JSON из файла и сохранить его, используя какой-то репозиторий (если он еще не сохранен;)). После сохранения вы можете использовать репозиторий для доступа к этой конкретной сущности.

...