Использование файла свойств - PullRequest
5 голосов
/ 26 марта 2012

Я создаю файл свойств для соединения с базой данных .. Я указал путь к файлу и сохраняю свойства, используя функцию:

 public void setProperty(String key, String value) {
    properties.setProperty(key, value);
}

Я установил свойства как:

"url","jdbc:mysql://localhost:3306/";"dbname","example";"user", "postgres";"Pass","123";

Мой вопрос: когда я использую свое приложение в другой системе, как этот файл свойств может быть полезен (на самом деле я прошел учебники «Файл свойств в Java», но не смог понять, как они используются).

В новой системе имя пользователя и пароль будут другими, так чем этот файл может быть полезен ??

Ответы [ 2 ]

4 голосов
/ 26 марта 2012

В новой системе имя пользователя и пароль будут другими, так чем этот файл может быть полезен ??

Это полезно именно потому, что файл может отличаться в разных системах. Поместив сведения о системе в файл, который можно изменить в разных системах, вы избавляетесь от необходимости писать разные коды Java для каждой системы.

Но откуда мне знать имя пользователя и пароль других пользователей

В сценарии, где вы не знаете, у вас есть несколько альтернатив, таких как:

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

Кстати, похоже, вы изобрели собственный формат файла свойств. Тебе не нужно было этого делать. Класс java.util.Properties предлагает два стандартных формата и методы для их чтения и записи.

0 голосов
/ 26 марта 2012

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

  • Использование инструмента развертывания для создания пакетов, простота развертывания. Для этого я использую Maven с пользовательским дескриптором сборки, который я предоставляю maven-assembly-plugin
  • такие файлы свойств, как конфигурация базы данных, в структуре проекта находятся в / src / resources / config (например)
  • в дескрипторе сборки (который создает zip-файл) все файлы из / src / resources / config перемещаются в корень zip в каталоге config - поэтому в / config внутри почтового файла. / config должен быть добавлен в classpath с использованием, например, конфигурации maven-jar-plugin или maven-dependency-plugin.
  • основной jar-файл находится на корневом уровне zip, а все остальные зависимости находятся в папке / lib (с использованием maven-dependency-plugin)

Таким образом, вы отправляете один zip-файл, который имеет внутреннюю структуру, такую ​​как:

/

/config

/bin

/lib

<main jar file with manifest - the manifest contains all the classpath info - this info is automatically generated by the maven plugins>

Когда учетные данные изменяются, все, что вам нужно сделать, это отредактировать файл свойств. Другое дело, если это безопасно.

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