クラス Jackson2JsonRedisSerializer<T>

java.lang.ObjectSE
org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer<T>
実装されたすべてのインターフェース:
RedisSerializer<T>

public class Jackson2JsonRedisSerializer<T> extends ObjectSE implements RedisSerializer<T>
Jackson および Jackson データバインド ObjectMapper を使用して JSON を読み書きできる RedisSerializer

このシリアライザーは、型指定された Bean または型指定されていない HashMapSE インスタンスにバインドするために使用できます。: Null オブジェクトは空の配列として直列化され、その逆も同様です。

JSON の読み取りと書き込みは、それぞれ JacksonObjectReader を構成することでカスタマイズできます JacksonObjectWriter

導入:
1.2
作成者:
Thomas Darimont, Mark Paluch
  • フィールドの詳細

    • DEFAULT_CHARSET

      @DeprecatedSE(since="3.0", forRemoval=true) public static final CharsetSE DEFAULT_CHARSET
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      取り外しは 3.0 以降。
  • コンストラクターの詳細

    • Jackson2JsonRedisSerializer

      public Jackson2JsonRedisSerializer(ClassSE<T> type)
      指定されたターゲット ClassSE に対して新しい Jackson2JsonRedisSerializer を作成します。
      パラメーター:
      type - null であってはなりません。
    • Jackson2JsonRedisSerializer

      public Jackson2JsonRedisSerializer(com.fasterxml.jackson.databind.JavaType javaType)
      指定されたターゲット JavaType に対して新しい Jackson2JsonRedisSerializer を作成します。
      パラメーター:
      javaType - null であってはなりません。
    • Jackson2JsonRedisSerializer

      public Jackson2JsonRedisSerializer(com.fasterxml.jackson.databind.ObjectMapper mapper, ClassSE<T> type)
      指定されたターゲット ClassSE に対して新しい Jackson2JsonRedisSerializer を作成します。
      パラメーター:
      mapper - null であってはなりません。
      type - null であってはなりません。
      導入:
      3.0
    • Jackson2JsonRedisSerializer

      public Jackson2JsonRedisSerializer(com.fasterxml.jackson.databind.ObjectMapper mapper, com.fasterxml.jackson.databind.JavaType javaType)
      指定されたターゲット JavaType に対して新しい Jackson2JsonRedisSerializer を作成します。
      パラメーター:
      mapper - null であってはなりません。
      javaType - null であってはなりません。
      導入:
      3.0
    • Jackson2JsonRedisSerializer

      public Jackson2JsonRedisSerializer(com.fasterxml.jackson.databind.ObjectMapper mapper, com.fasterxml.jackson.databind.JavaType javaType, JacksonObjectReader reader, JacksonObjectWriter writer)
      指定されたターゲット JavaType に対して新しい Jackson2JsonRedisSerializer を作成します。
      パラメーター:
      mapper - null であってはなりません。
      javaType - null であってはなりません。
      reader - ObjectMapper を使用してオブジェクトを読み取る JacksonObjectReader 関数。
      writer - ObjectMapper を使用してオブジェクトを書き込む JacksonObjectWriter 関数。
      導入:
      3.0
  • メソッドの詳細

    • setObjectMapper

      @DeprecatedSE(since="3.0", forRemoval=true) public void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper mapper)
      非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
      3.0 以降、constructor creation を使用してオブジェクトマッパーを構成します。
      このビューの ObjectMapper を設定します。設定されていない場合、デフォルトの ObjectMapper が使用されます。

      カスタム構成の ObjectMapper を設定することは、JSON 直列化プロセスをさらに制御する 1 つの方法です。例: 特定の型のカスタムシリアライザーを提供する拡張 SerializerFactory を構成できます。直列化プロセスを改善するためのもう 1 つのオプションは、直列化する型に Jackson が提供するアノテーションを使用することです。この場合、カスタム構成の ObjectMapper は不要です。

    • serialize

      public byte[] serialize(@Nullable T value) throws SerializationException
      インターフェースからコピーされた説明: RedisSerializer
      指定されたオブジェクトをバイナリデータに直列化します。
      次で指定:
      インターフェース RedisSerializer<T>serialize 
      パラメーター:
      value - 直列化するオブジェクト。null にすることができます。
      戻り値:
      同等のバイナリデータ。null にすることができます。
      例外:
      SerializationException
    • deserialize

      public T deserialize(@Nullable byte[] bytes) throws SerializationException
      インターフェースからコピーされた説明: RedisSerializer
      指定されたバイナリデータからオブジェクトを逆直列化します。
      次で指定:
      インターフェース RedisSerializer<T>deserialize 
      パラメーター:
      bytes - オブジェクトのバイナリ表現。null にすることができます。
      戻り値:
      同等のオブジェクトインスタンス。null にすることができます。
      例外:
      SerializationException
    • getJavaType

      protected com.fasterxml.jackson.databind.JavaType getJavaType(ClassSE<?> clazz)
      特定のクラスの Jackson JavaType を返します。

      デフォルトの実装は TypeFactory.constructType(java.lang.reflect.Type) を返しますが、これはサブクラスでオーバーライドして、カスタムのジェネリクスコレクション処理を可能にすることができます。例:

       protected JavaType getJavaType(Class<?> clazz) {
              if (List.class.isAssignableFrom(clazz)) {
                      return TypeFactory.defaultInstance().constructCollectionType(ArrayList.class, MyBean.class);
              } else {
                      return super.getJavaType(clazz);
              }
       }
       
      パラメーター:
      clazz - java 型を返すクラス
      戻り値:
      java 型