springboot-redis?idea上如何创建springboot-redis项目?
2019-07-23 21:25
681 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Meet_again007/article/details/97036571
图一:
图2:
MyRedisConfiguration :
package com.zhiyou100.springbootredis.config; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; /** * @Author: lw * @Date: 2019/6/20 11:48 */ @Configuration public class MyRedisConfiguration { @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) { RedisTemplate<String, Object> template = new RedisTemplate<>(); // 配置连接工厂 template.setConnectionFactory(factory); //使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值(默认使用JDK的序列化方式) Jackson2JsonRedisSerializer jacksonSeial = new Jackson2JsonRedisSerializer(Object.class); ObjectMapper om = new ObjectMapper(); // 指定要序列化的域,field,get和set,以及修饰符范围,ANY是都有包括private和public om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); // 指定序列化输入的类型,类必须是非final修饰的,final修饰的类,比如String,Integer等会跑出异常 om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); jacksonSeial.setObjectMapper(om); // 值采用json序列化 template.setValueSerializer(jacksonSeial); //使用StringRedisSerializer来序列化和反序列化redis的key值 template.setKeySerializer(new StringRedisSerializer()); // 设置hash key 和value序列化模式 template.setHashKeySerializer(new StringRedisSerializer()); template.setHashValueSerializer(jacksonSeial); template.afterPropertiesSet(); return template; } }
User:
package com.zhiyou100.springbootredis.entity; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor public class User { private Integer id; private String account; private String password; }
application-dev.yml:
spring: redis: host: 192.168.14.167 password: 123456 jedis: pool: max-active: 50
application.properties:
spring.profiles.active=dev
RedisTest:
package com.zhiyou100.springbootredis.redis; import com.zhiyou100.springbootredis.entity.User; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.test.context.junit4.SpringRunner; import java.util.concurrent.TimeUnit; @RunWith(SpringRunner.class) @SpringBootTest public class RedisTest { @Autowired private RedisTemplate<String,Object> redisTemplate; @Test public void testAdd(){ User user = new User(1,"adc","0000"); //添加数据 并设置过期时间 redisTemplate.opsForValue().set("abcde",user,3600, TimeUnit.SECONDS); // 获取数据 需要强制转换 User value = (User) redisTemplate.opsForValue().get("abcde"); System.out.println(value); } }
pox.xml:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.zhiyou100</groupId> <artifactId>spring-boot-redis</artifactId> <version>0.0.1-SNAPSHOT</version> <name>spring-boot-redis</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
相关文章推荐
- idea如何创建springboot项目?
- SpringBoot(一):如何创建SpringBoot项目?
- Springboot使用向导快速创建SpringBoot应用,IDEA新建项目时,没有Spring Initializr选项,新版本解决方法(亲测有效)
- 如何用IDEA创建第一个Spring Boot项目
- SpringBoot 实战 (一) :如何创建SpringBoot项目 --入门篇
- 关于idea中如何将springboot项目打成可执行的jar包
- Idea创建spring boot 项目(4)整合Spring Data Jpa
- idea创建springboot项目图文教程(配置文件)(五)
- IDEA下创建Springboot,freemarker,mockserver,Gradle项目
- IDEA(1)-创建spring boot 的Hello World 项目
- 基于IDEA创建Spring boot 项目实现登陆注册(Spring的学习之旅 二)
- springboot:无插件创建Springboot项目
- 用Intelij idea 创建 Spring Boot项目一创建Module openfirein-cloud-config-servier(1-2)
- Ubuntu中使用idea创建springboot的多模块项目
- 我爱Java系列之---【使用idea快速创建springboot项目教程】
- idea创建springboot项目出现的问题
- SpringBoot-04:SpringBoot在idea中的俩种创建方式
- idea创建springboot项目
- 使用IDEA创建SpringBoot Web项目
- IDEA中SpringBoot项目如何多实例启动