как установить глобальное свойство, которое устанавливается при запуске весенней загрузки приложения - PullRequest
0 голосов
/ 24 декабря 2018

Я хочу установить некоторые глобальные переменные, которые доступны нескольким классам.Примерами этих глобальных переменных могут быть такие вещи, как некоторые ключи (строки)

Я извлекаю эти переменные из базы данных, и переменные, вероятно, не изменятся, за исключением случаев, когда программа перекомпилируется

Ответы [ 3 ]

0 голосов
/ 24 декабря 2018

Вы не предоставили много подробностей, поэтому ответ также будет общим.

Существует два основных подхода:

  1. Вы можете использовать класс Java Properties.

    public static final Properties defaultProperties = new Properties();
    

    Инициализируйте defaultProperties из базы данных при запуске программы с помощью defaultProperties.put("name", value).

    Получите доступ к своим свойствам с помощью defaultProperties.get("name").

  2. Напишите свой собственный класс конфигурации.

    class MyConfig
    {
      public final String SomeStringProperty;
      public final int SomeIntProperty;
      // Singleton
      public final static MyConfig instance = new MyConfig();
    
      private MyConfig()
      { // Init properties from database here.
      }
    }
    

    Для инициализации MyConfig может потребоваться некоторый шаблон внедрения зависимостей, например, для установления соединения с базой данных.

Оба методапохожи.Второй обеспечивает большую безопасность типов и предотвращает случайный доступ к несуществующему свойству из-за опечатки в имени свойства.Первый из них, напротив, может быть сделан универсальным таким образом, чтобы при добавлении новых свойств не требовалось никаких изменений кода для кода конфигурации.Конечно, вам все еще нужно написать код, который обращается к новому свойству.

0 голосов
/ 24 декабря 2018

Вы можете установить эти свойства в файле application.properties. Вы можете использовать эти свойства повсюду в вашем проекте.Например: я использую ключ для попадания стороннего. Так что я беру ключ на свой файл свойств.

0 голосов
/ 24 декабря 2018

Самый простой способ - определить класс @Component с полем типа Map для этих свойств.Затем заполните его в начале вашего приложения информацией, полученной из базы данных.

Затем, когда вы захотите использовать эти свойства, введите их, используя механизм DI Spring Boot.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...