diff --git a/spring-data-redis/src/main/java/org/baeldung/spring/data/redis/repo/StudentRepository.java b/spring-data-redis/src/main/java/org/baeldung/spring/data/redis/repo/StudentRepository.java index 6a909ed137..9e5502f8e0 100644 --- a/spring-data-redis/src/main/java/org/baeldung/spring/data/redis/repo/StudentRepository.java +++ b/spring-data-redis/src/main/java/org/baeldung/spring/data/redis/repo/StudentRepository.java @@ -1,12 +1,13 @@ package org.baeldung.spring.data.redis.repo; import org.baeldung.spring.data.redis.model.Student; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import java.util.Map; public interface StudentRepository { - + void saveStudent(Student person); void updateStudent(Student student); diff --git a/spring-data-redis/src/main/java/org/baeldung/spring/data/redis/repo/StudentRepositoryImpl.java b/spring-data-redis/src/main/java/org/baeldung/spring/data/redis/repo/StudentRepositoryImpl.java index 55e6ad5edc..43294cae58 100644 --- a/spring-data-redis/src/main/java/org/baeldung/spring/data/redis/repo/StudentRepositoryImpl.java +++ b/spring-data-redis/src/main/java/org/baeldung/spring/data/redis/repo/StudentRepositoryImpl.java @@ -2,9 +2,11 @@ package org.baeldung.spring.data.redis.repo; import org.baeldung.spring.data.redis.model.Student; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Repository; +import javax.annotation.PostConstruct; import java.util.Map; @Repository @@ -12,26 +14,36 @@ public class StudentRepositoryImpl implements StudentRepository { private static final String KEY = "Student"; - @Autowired private RedisTemplate redisTemplate; + private HashOperations hashOperations; + + @Autowired + public StudentRepositoryImpl(RedisTemplate redisTemplate) { + this.redisTemplate = redisTemplate; + } + + @PostConstruct + private void init() { + hashOperations = redisTemplate.opsForHash(); + } public void saveStudent(final Student student) { - redisTemplate.opsForHash().put(KEY, student.getId(), student); + hashOperations.put(KEY, student.getId(), student); } public void updateStudent(final Student student) { - redisTemplate.opsForHash().put(KEY, student.getId(), student); + hashOperations.put(KEY, student.getId(), student); } public Student findStudent(final String id) { - return (Student) redisTemplate.opsForHash().get(KEY, id); + return (Student) hashOperations.get(KEY, id); } public Map findAllStudents() { - return redisTemplate.opsForHash().entries(KEY); + return hashOperations.entries(KEY); } public void deleteStudent(final String id) { - this.redisTemplate.opsForHash().delete(KEY, id); + hashOperations.delete(KEY, id); } }