ジャクソンライブラリを使用してJSONからデシリアライズしている間に、デフォルトのコンストラクタを呼び出すことなく、カスタム方法でBeanをインスタンス化する最も簡単で簡単な方法は何ですか?私は実現可能なJsonDeserializer
インターフェイスがあることを知りましたが、あまりにもすべて一緒にObjectMapper
に配線する方法はわかりません。Jacksonとカスタム方法でBeanをインスタンス化する方法は?
更新日1:私の質問にはさらに詳細が必要だと思います。デフォルトでは、Jacksonのデシリアライザはデフォルトのコンストラクタを使用して豆を作ります。私は、外部ファクトリを呼び出してBeanのインスタンス化を実装できるようにしたいと考えています。だから私が必要とするのは、インスタンス化する必要のあるBeanのクラスです。ファクトリはインスタンスを返し、プロパティの追加などのためにジャクソンに提供することができます。
私は文字列や数字などの単純な/スカラー値の作成については心配していませんが、興味のある領域には豆だけがあります。
@JsonDeserialize(using = PropertyValueDeserializer.class)
public class PROPERTY_VALUE implements Serializable{
、その後のことができます。例えばデシリアライザで:
ありがとうございます。 JacksonはデフォルトでBeanのデフォルトのコンストラクタを使用してインスタンスを作成します。私がしたいのは、実際に外部ファクトリを使用してBeanを作成することです。私は質問をいくつかの詳細で一瞬で更新します。 –
注釈を使用しないで私はどのようにできるのですか? –
ミックスインアノテーションを使用することにより、クラス自体に直接追加する必要はなく、他の「ミックスイン」クラスに追加できます。これにより、サードパーティのライブラリでアノテーションアプローチを使用することが可能になります。 – StaxMan