Fix Spring configuration for Spring Data Redis example
This commit is contained in:
parent
bc7240ead1
commit
ecf5baea13
|
@ -1,19 +1,22 @@
|
|||
package org.baeldung.spring.data.redis.config;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
|
||||
@Configuration
|
||||
@ComponentScan("org.baeldung.spring.data.redis")
|
||||
public class RedisConfig {
|
||||
|
||||
@Bean
|
||||
JedisConnectionFactory jedisConnectionFactory() {
|
||||
return new JedisConnectionFactory();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public RedisTemplate< String, Object> redisTemplate() {
|
||||
public RedisTemplate<String, Object> redisTemplate() {
|
||||
final RedisTemplate< String, Object> template = new RedisTemplate<String, Object>();
|
||||
template.setConnectionFactory(jedisConnectionFactory());
|
||||
return template;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package org.baeldung.spring.data.redis.repo;
|
||||
|
||||
import org.baeldung.spring.data.redis.model.Student;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
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.RedisTemplate;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
|
@ -11,26 +12,23 @@ public class StudentRepositoryImpl implements StudentRepository {
|
|||
|
||||
private static final String KEY = "Student";
|
||||
|
||||
@Autowired
|
||||
private RedisTemplate<String, Object> redisTemplate;
|
||||
|
||||
public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) {
|
||||
this.redisTemplate = redisTemplate;
|
||||
}
|
||||
|
||||
public void saveStudent(final Student student) {
|
||||
this.redisTemplate.opsForHash().put(KEY, student.getId(), student);
|
||||
redisTemplate.opsForHash().put(KEY, student.getId(), student);
|
||||
}
|
||||
|
||||
public void updateStudent(final Student student) {
|
||||
this.redisTemplate.opsForHash().put(KEY, student.getId(), student);
|
||||
redisTemplate.opsForHash().put(KEY, student.getId(), student);
|
||||
}
|
||||
|
||||
public Student findStudent(final String id) {
|
||||
return (Student) this.redisTemplate.opsForHash().get(KEY, id);
|
||||
return (Student) redisTemplate.opsForHash().get(KEY, id);
|
||||
}
|
||||
|
||||
public Map<Object, Object> findAllStudents() {
|
||||
return this.redisTemplate.opsForHash().entries(KEY);
|
||||
return redisTemplate.opsForHash().entries(KEY);
|
||||
}
|
||||
|
||||
public void deleteStudent(final String id) {
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:p="http://www.springframework.org/schema/p"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
|
||||
|
||||
<bean id="jedisConnectionFactory"
|
||||
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
|
||||
p:use-pool="true" />
|
||||
|
||||
<bean id="redisTemplate"
|
||||
class="org.springframework.data.redis.core.RedisTemplate"
|
||||
p:connection-factory-ref="jedisConnectionFactory"/>
|
||||
|
||||
<bean id="studentRepository" class="org.baeldung.spring.data.redis.repo.StudentRepositoryImpl">
|
||||
<property name="redisTemplate" ref="redisTemplate" />
|
||||
</bean>
|
||||
|
||||
</beans>
|
|
@ -5,6 +5,7 @@ import org.baeldung.spring.data.redis.model.Student;
|
|||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
|
@ -14,34 +15,27 @@ import static org.junit.Assert.assertEquals;
|
|||
import static org.junit.Assert.assertNull;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
//@ContextConfiguration(locations = { "classpath:/spring-config.xml" })
|
||||
@ContextConfiguration(classes = RedisConfig.class)
|
||||
public class StudentRepositoryTest {
|
||||
|
||||
private StudentRepositoryImpl studentRepositoryImpl;
|
||||
|
||||
@Before
|
||||
public void setUp(){
|
||||
studentRepositoryImpl = new StudentRepositoryImpl();
|
||||
RedisConfig redisConfig = new RedisConfig();
|
||||
studentRepositoryImpl.setRedisTemplate(redisConfig.redisTemplate());
|
||||
}
|
||||
@Autowired
|
||||
private StudentRepository studentRepository;
|
||||
|
||||
@Test
|
||||
public void whenSavingStudent_thenAvailableOnRetrieval() throws Exception {
|
||||
final Student student = new Student("Eng2015001", "John Doe", Student.Gender.MALE, 1);
|
||||
studentRepositoryImpl.saveStudent(student);
|
||||
final Student retrievedStudent = studentRepositoryImpl.findStudent(student.getId());
|
||||
studentRepository.saveStudent(student);
|
||||
final Student retrievedStudent = studentRepository.findStudent(student.getId());
|
||||
assertEquals(student.getId(), retrievedStudent.getId());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenUpdatingStudent_thenAvailableOnRetrieval() throws Exception {
|
||||
final Student student = new Student("Eng2015001", "John Doe", Student.Gender.MALE, 1);
|
||||
studentRepositoryImpl.saveStudent(student);
|
||||
studentRepository.saveStudent(student);
|
||||
student.setName("Richard Watson");
|
||||
studentRepositoryImpl.saveStudent(student);
|
||||
final Student retrievedStudent = studentRepositoryImpl.findStudent(student.getId());
|
||||
studentRepository.saveStudent(student);
|
||||
final Student retrievedStudent = studentRepository.findStudent(student.getId());
|
||||
assertEquals(student.getName(), retrievedStudent.getName());
|
||||
}
|
||||
|
||||
|
@ -49,18 +43,18 @@ public class StudentRepositoryTest {
|
|||
public void whenSavingStudents_thenAllShouldAvailableOnRetrieval() throws Exception {
|
||||
final Student engStudent = new Student("Eng2015001", "John Doe", Student.Gender.MALE, 1);
|
||||
final Student medStudent = new Student("Med2015001", "Gareth Houston", Student.Gender.MALE, 2);
|
||||
studentRepositoryImpl.saveStudent(engStudent);
|
||||
studentRepositoryImpl.saveStudent(medStudent);
|
||||
final Map<Object, Object> retrievedStudent = studentRepositoryImpl.findAllStudents();
|
||||
studentRepository.saveStudent(engStudent);
|
||||
studentRepository.saveStudent(medStudent);
|
||||
final Map<Object, Object> retrievedStudent = studentRepository.findAllStudents();
|
||||
assertEquals(retrievedStudent.size(), 2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenDeletingStudent_thenNotAvailableOnRetrieval() throws Exception {
|
||||
final Student student = new Student("Eng2015001", "John Doe", Student.Gender.MALE, 1);
|
||||
studentRepositoryImpl.saveStudent(student);
|
||||
studentRepositoryImpl.deleteStudent(student.getId());
|
||||
final Student retrievedStudent = studentRepositoryImpl.findStudent(student.getId());
|
||||
studentRepository.saveStudent(student);
|
||||
studentRepository.deleteStudent(student.getId());
|
||||
final Student retrievedStudent = studentRepository.findStudent(student.getId());
|
||||
assertNull(retrievedStudent);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue