Как я могу преобразовать Java-бин в файл свойств? - PullRequest
1 голос
/ 09 июля 2010

Какие библиотеки доступны, что может сделать что-то вроде

public class Person {
  private Long id;
  private Name; 
  private List<Long> associations;

  // accessors
}

public class Name {
  private String first;
  private String last; 

  // accessors
}

в нечто вроде

id=1
associations=1,2,3,4,5
name.first=Franz
name.last=See

И если для этого нет библиотеки, каков хороший способ сделать это? : -)

Ответы [ 4 ]

2 голосов
/ 09 июля 2010

Я сомневаюсь, что есть библиотека для этого, так как распространенный способ сериализации bean-компонентов - это XML. Вы можете написать простую библиотеку самостоятельно, используя Java Reflection API , чтобы получить список свойств и извлечь их значения. Это было бы более распространенным решением, чем создание пользовательского toString() для любого класса, который может потребоваться для сериализации.

0 голосов
/ 01 июля 2012

Проверьте, решит ли JSON эту проблему.

import net.sf.json.JSONObject;

public class YourJSONJavaExample
 {
   public static void main(String args[]){
   JSONObject object=new JSONObject();
  object.put("firstname","John");
  object.put("age",new Integer(21));
  object.put("lastname","smith");
  System.out.println(object);
   }
 } 
0 голосов
/ 09 июля 2010

Хорошо, вы можете проверить, как XMLEncoder извлечь имена полей и значения из объекта, и попытаться переписать его в выходные файлы свойств.Я думаю, что, заменяя вывод xml выводом свойств, вы можете получить довольно хороший создатель свойств.В качестве дополнительного преимущества обратите внимание, что то же самое относится и к чтению свойств с использованием эквивалентного opf XMLDecoder .

0 голосов
/ 09 июля 2010

Что ж, я думаю, что вместо использования какой-либо внешней библиотеки вы можете сделать это самостоятельно, просто добавив геттеры и сеттеры в ваши javabeans и переопределив их методом string, а затем вы можете сформировать строку так, как хотите. Оставалось только написать задачуэта строка в один файл, вот и все !!!!!

...