2009-02-06 7 views
0

javabean (임의의 중첩 된 bean 포함)을 일반 텍스트로 serialize 한 다음 나중에 Object 그래프로 복원해야합니다.스프링의 DataBinder에 의해로드되도록 javabean을 직렬화 할 수 있습니까?

이 질문의 목적 상 XML, JSON 등이 아니라 이름/값 쌍에 관심이 있습니다.

Spring DataBinder은 이름/값 쌍 목록을 실제 개체로 변환하는 데 유용합니다.

values.addPropertyValue("id", "6789"); 
values.addPropertyValue("nestedBean[0].systemId", "FOO"); 
values.addPropertyValue("nestedBean[1].systemId", "BAR"); 

을 그리고 List 두 개의 중첩 된 콩을 포함하는 (재산 id)와 함께 최고 수준의 콩을 생산하기 위해 DataBinder를 사용 : 예를 들어 우리가 제공 할 수 있습니다.

내 질문에, 어떻게 DataBinder가 기대하는 형식으로 bean을 쉽게 serialize 할 수 있습니까?

나는 형태의 뭔가 기대 :

Map<String,String> reduceBeanToNameValuePairs(Object bean) 

를하지만 종류의 무엇이든을 찾는 운이 없었 없습니다.

답변

1

Commons BeanUtils을 살펴볼 수 있습니다. 이 클래스의 BeanMap 클래스는 래핑 된 빈의 속성을지도 항목으로 액세스하는 방법을 entrySet으로 제공합니다.

이 기능은 이미 "플랫"빈에 대해 충분하며 중첩 된 빈 그래프에 필요한 재귀를 추가하기위한 좋은 시작점을 제공 할 수 있습니다.