2014-04-18 1 views
1

xstream을 사용하여 읽은 후 bean 유효성 검사를 사용하여 내 bean의 유효성을 검사하고 싶습니다.XStream : 직렬화 해제 후 유효성 검사를 수행하는 방법

필자는 readObject()를 구현하려고 시도하지만,이 방법을 사용하면 자체적으로 전체 deserialization을 수행해야하며, 이는 내가 원하는 것만은 아닙니다.

deserialization 후 호출되는 메서드가 있습니까?

답변

1

당신의 접근 방식은 괜찮습니다. 당신은 몇 가지 작은 것들을 놓치고 있습니다. 기본 직렬화가 수행하려는 경우

, 당신은 표준 자바 직렬화 API

(방법 private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException)에서와 같이가 readResolve 방법을 덮어 쓰기하는 방법에 in.defaultReadObject();를 호출 할 수 있습니다.

이후에는 검증 방법을 호출하거나 비순환 필드를 초기화하거나 비 직렬화 후에 원하는대로 수행 할 수 있습니다.

자세한 내용은 XStream FAQ에 설명되어 있습니다.

+1

[XStream FAQ] (http://x-stream.github.io/faq.html#Serialization_initialize_transient)에 대한 유효한 링크 – Entrodus

+0

감사합니다. 대답에 편집되었습니다. – Matthias

관련 문제