diff --git a/src/main/java/org/springframework/data/redis/core/RedisTemplate.java b/src/main/java/org/springframework/data/redis/core/RedisTemplate.java index 93ee4ca0de..9ec14269a8 100644 --- a/src/main/java/org/springframework/data/redis/core/RedisTemplate.java +++ b/src/main/java/org/springframework/data/redis/core/RedisTemplate.java @@ -17,6 +17,7 @@ import java.io.Closeable; import java.lang.reflect.Proxy; +import java.util.Objects; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -87,6 +88,7 @@ * @author ihaohong * @author Chen Li * @author Vedran Pavic + * @author Jinbeom Kim * @param the Redis key type against which the template works (usually a String) * @param the Redis value type against which the template works * @see StringRedisTemplate @@ -126,34 +128,25 @@ public RedisTemplate() {} @Override public void afterPropertiesSet() { - super.afterPropertiesSet(); - if (defaultSerializer == null) { - - defaultSerializer = new JdkSerializationRedisSerializer( - classLoader != null ? classLoader : this.getClass().getClassLoader()); - } + defaultSerializer = Objects.requireNonNullElseGet( + defaultSerializer, + () -> new JdkSerializationRedisSerializer( + Objects.requireNonNullElse(classLoader, getClass().getClassLoader())) + ); if (enableDefaultSerializer) { - - if (keySerializer == null) { - keySerializer = defaultSerializer; - } - if (valueSerializer == null) { - valueSerializer = defaultSerializer; - } - if (hashKeySerializer == null) { - hashKeySerializer = defaultSerializer; - } - if (hashValueSerializer == null) { - hashValueSerializer = defaultSerializer; - } + keySerializer = Objects.requireNonNullElse(keySerializer, defaultSerializer); + valueSerializer = Objects.requireNonNullElse(valueSerializer, defaultSerializer); + hashKeySerializer = Objects.requireNonNullElse(hashKeySerializer, defaultSerializer); + hashValueSerializer = Objects.requireNonNullElse(hashValueSerializer, defaultSerializer); } - if (scriptExecutor == null) { - this.scriptExecutor = new DefaultScriptExecutor<>(this); - } + scriptExecutor = Objects.requireNonNullElseGet( + scriptExecutor, + () -> new DefaultScriptExecutor<>(this) + ); initialized = true; }