загрузка XML из файла свойств - PullRequest
1 голос
/ 02 февраля 2011

возможно ли загрузить данные из файла свойств в файл XML с помощью Spring?если да, может ли кто-нибудь привести пример этого?

вот этот xml:

<cluster balancer="load" 
       dialect="net.sf.hajdbc.dialect.MySQLDialect" 
       default-sync="full" 
       transaction-mode="parallel" 
       auto-activate-schedule="0 * * ? * *" 
       failure-detect-schedule="0 * * ? * *"
       meta-data-cache="none">
<database id="database1">
  <driver>***</driver>
  <url>***</url>
  <user>***</user>
  <password>***</password>
</database>

вот источник данных

database.driver=***

database1.url=***
database1.username=***
database1.password=***

Ответы [ 3 ]

3 голосов
/ 02 февраля 2011

Тебе не нужна весна для этого. Что вам нужно сделать, это извлечь свойства с помощью getProperty (). Вот пример:

    File propertiesFile = ...
    Properties properties = new Properties();
    FileInputStream  fis = new FileInputStream(propertiesFile);
    properties.load(fis);

    String databaseDriver = properties.getProperty("database.driver");
    String database1Url = properties.getProperty("database1.url");
    String database1Username = properties.getProperty("database1.username");

(я упустил исключения для простоты)

и используйте Java API для XML для создания вашего XML-файла. Вот пример того, как начать создавать XML:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = factory.newDocumentBuilder();
Document document = documentBuilder.newDocument();
Element rootElement = document.createElement("database");
document.appendChild(rootElement);

...

google "java create xml" или аналогичный, чтобы узнать, как создать xml в соответствии с вашими потребностями.

0 голосов
/ 02 февраля 2011

возможно ли загрузить данные из файла свойств в файл XML без использования Spring?

Да, но только если вы напишите целую кучу кода Java в:

  1. прочитайте XML и извлеките необходимые данные.
  2. загрузите свойства
  3. объедините детали из свойств в детали.

Я не знаю ни одного общего решения этой проблемы, кроме Spring.


На самом деле, я не уверен, что вы можете точно сделать это, используя Spring либо.

В проводке Spring DI предусмотрены механизмы для замены полных значений свойств компонента (PropertyOverrideConfigurer) или заполнителей, встроенных в значения свойств (PropertyPlaceholderConfigurer).Однако POC и PPC работают со значениями свойств bean-компонентов, объявленных в определениях bean-компонентов Spring.То, что у вас есть в вашем примере, выглядит как простой XML ... а не как объявления bean-компонента Spring.

0 голосов
/ 02 февраля 2011

Если это файл свойств Spring, это уже XML. Вы можете прочитать это с помощью стандартных библиотек синтаксического анализа Java XML, если вы так склонны http://www.mkyong.com/tutorials/java-xml-tutorials/ имеет несколько туориалов по различным методам.

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