Adding Java config
This commit is contained in:
parent
97ca1980ac
commit
bc7240ead1
|
@ -0,0 +1,21 @@
|
|||
package org.baeldung.spring.data.redis.config;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
|
||||
@Configuration
|
||||
public class RedisConfig {
|
||||
@Bean
|
||||
JedisConnectionFactory jedisConnectionFactory() {
|
||||
return new JedisConnectionFactory();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public RedisTemplate< String, Object> redisTemplate() {
|
||||
final RedisTemplate< String, Object> template = new RedisTemplate<String, Object>();
|
||||
template.setConnectionFactory(jedisConnectionFactory());
|
||||
return template;
|
||||
}
|
||||
}
|
|
@ -7,7 +7,7 @@ public class Student implements Serializable {
|
|||
private static final long serialVersionUID = -1907106213598514113L;
|
||||
|
||||
public enum Gender {
|
||||
Male, Female
|
||||
MALE, FEMALE
|
||||
}
|
||||
|
||||
private String id;
|
||||
|
|
|
@ -2,16 +2,18 @@ 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.Repository;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Repository
|
||||
public class StudentRepositoryImpl implements StudentRepository {
|
||||
|
||||
private static final String KEY = "Student";
|
||||
|
||||
private RedisTemplate<String, Student> redisTemplate;
|
||||
private RedisTemplate<String, Object> redisTemplate;
|
||||
|
||||
public void setRedisTemplate(RedisTemplate<String, Student> redisTemplate) {
|
||||
public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) {
|
||||
this.redisTemplate = redisTemplate;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
package org.baeldung.spring.data.redis.repo;
|
||||
|
||||
import org.baeldung.spring.data.redis.config.RedisConfig;
|
||||
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;
|
||||
|
||||
|
@ -13,46 +14,53 @@ import static org.junit.Assert.assertEquals;
|
|||
import static org.junit.Assert.assertNull;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(locations = { "classpath:/spring-config.xml" })
|
||||
//@ContextConfiguration(locations = { "classpath:/spring-config.xml" })
|
||||
@ContextConfiguration(classes = RedisConfig.class)
|
||||
public class StudentRepositoryTest {
|
||||
|
||||
@Autowired
|
||||
private StudentRepository studentRepository;
|
||||
private StudentRepositoryImpl studentRepositoryImpl;
|
||||
|
||||
@Before
|
||||
public void setUp(){
|
||||
studentRepositoryImpl = new StudentRepositoryImpl();
|
||||
RedisConfig redisConfig = new RedisConfig();
|
||||
studentRepositoryImpl.setRedisTemplate(redisConfig.redisTemplate());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenSavingStudent_thenAvailableOnRetrieval() throws Exception {
|
||||
final Student student = new Student("Eng2015001", "John Doe", Student.Gender.Male, 1);
|
||||
studentRepository.saveStudent(student);
|
||||
final Student retrievedStudent = studentRepository.findStudent(student.getId());
|
||||
final Student student = new Student("Eng2015001", "John Doe", Student.Gender.MALE, 1);
|
||||
studentRepositoryImpl.saveStudent(student);
|
||||
final Student retrievedStudent = studentRepositoryImpl.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);
|
||||
studentRepository.saveStudent(student);
|
||||
final Student student = new Student("Eng2015001", "John Doe", Student.Gender.MALE, 1);
|
||||
studentRepositoryImpl.saveStudent(student);
|
||||
student.setName("Richard Watson");
|
||||
studentRepository.saveStudent(student);
|
||||
final Student retrievedStudent = studentRepository.findStudent(student.getId());
|
||||
studentRepositoryImpl.saveStudent(student);
|
||||
final Student retrievedStudent = studentRepositoryImpl.findStudent(student.getId());
|
||||
assertEquals(student.getName(), retrievedStudent.getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
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);
|
||||
studentRepository.saveStudent(engStudent);
|
||||
studentRepository.saveStudent(medStudent);
|
||||
final Map<Object, Object> retrievedStudent = studentRepository.findAllStudents();
|
||||
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();
|
||||
assertEquals(retrievedStudent.size(), 2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void whenDeletingStudent_thenNotAvailableOnRetrieval() throws Exception {
|
||||
final Student student = new Student("Eng2015001", "John Doe", Student.Gender.Male, 1);
|
||||
studentRepository.saveStudent(student);
|
||||
studentRepository.deleteStudent(student.getId());
|
||||
final Student retrievedStudent = studentRepository.findStudent(student.getId());
|
||||
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());
|
||||
assertNull(retrievedStudent);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue