Class GenericJackson2JsonRedisSerializer
java.lang.Object
org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer
- All Implemented Interfaces:
RedisSerializer<Object>
Generic Jackson 2-based
RedisSerializer
that maps objects
to JSON using dynamic typing.- Since:
- 1.6
- Author:
- Christoph Strobl, Mark Paluch, Mao Shuai
-
Constructor Summary
ConstructorsConstructorDescriptionCreatesGenericJackson2JsonRedisSerializer
and configuresObjectMapper
for default typing.GenericJackson2JsonRedisSerializer
(com.fasterxml.jackson.databind.ObjectMapper mapper) Setting a custom-configuredObjectMapper
is one way to take further control of the JSON serialization process.GenericJackson2JsonRedisSerializer
(String classPropertyTypeName) CreatesGenericJackson2JsonRedisSerializer
and configuresObjectMapper
for default typing using the given name. -
Method Summary
Modifier and TypeMethodDescriptiondeserialize
(byte[] source) Deserialize an object from the given binary data.<T> T
deserialize
(byte[] source, Class<T> type) static void
registerNullValueSerializer
(com.fasterxml.jackson.databind.ObjectMapper objectMapper, String classPropertyTypeName) RegisterGenericJackson2JsonRedisSerializer.NullValueSerializer
in the givenObjectMapper
with an optionalclassPropertyTypeName
.byte[]
Serialize the given object to binary data.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.data.redis.serializer.RedisSerializer
canSerialize, getTargetType
-
Constructor Details
-
GenericJackson2JsonRedisSerializer
public GenericJackson2JsonRedisSerializer()CreatesGenericJackson2JsonRedisSerializer
and configuresObjectMapper
for default typing. -
GenericJackson2JsonRedisSerializer
CreatesGenericJackson2JsonRedisSerializer
and configuresObjectMapper
for default typing using the given name. In case of an empty or null String the defaultJsonTypeInfo.Id.CLASS
will be used.- Parameters:
classPropertyTypeName
- Name of the JSON property holding type information. Can be null.- See Also:
-
ObjectMapper.activateDefaultTypingAsProperty(PolymorphicTypeValidator, DefaultTyping, String)
ObjectMapper.activateDefaultTyping(PolymorphicTypeValidator, DefaultTyping, As)
-
GenericJackson2JsonRedisSerializer
public GenericJackson2JsonRedisSerializer(com.fasterxml.jackson.databind.ObjectMapper mapper) Setting a custom-configuredObjectMapper
is one way to take further control of the JSON serialization process. For example, an extendedSerializerFactory
can be configured that provides custom serializers for specific types.- Parameters:
mapper
- must not be null.
-
-
Method Details
-
registerNullValueSerializer
public static void registerNullValueSerializer(com.fasterxml.jackson.databind.ObjectMapper objectMapper, @Nullable String classPropertyTypeName) RegisterGenericJackson2JsonRedisSerializer.NullValueSerializer
in the givenObjectMapper
with an optionalclassPropertyTypeName
. This method should be called by code that customizesGenericJackson2JsonRedisSerializer
by providing an externalObjectMapper
.- Parameters:
objectMapper
- the object mapper to customize.classPropertyTypeName
- name of the type property. Defaults to@class
if null/empty.- Since:
- 2.2
-
serialize
Description copied from interface:RedisSerializer
Serialize the given object to binary data.- Specified by:
serialize
in interfaceRedisSerializer<Object>
- Parameters:
source
- object to serialize. Can be null.- Returns:
- the equivalent binary data. Can be null.
- Throws:
SerializationException
-
deserialize
Description copied from interface:RedisSerializer
Deserialize an object from the given binary data.- Specified by:
deserialize
in interfaceRedisSerializer<Object>
- Parameters:
source
- object binary representation. Can be null.- Returns:
- the equivalent object instance. Can be null.
- Throws:
SerializationException
-
deserialize
@Nullable public <T> T deserialize(@Nullable byte[] source, Class<T> type) throws SerializationException - Parameters:
source
- can be null.type
- must not be null.- Returns:
- null for empty source.
- Throws:
SerializationException
-