一 application配置
#redis
redis.host=192.168.220.128
redis.port=6379
redis.timeout=3
redis.poolMaxTotal=10
redis.poolMaxIdle=10
redis.poolMaxWait=3
二config配置,读取application中的内容
prefix 表示读取 application中前缀为redis的配置
@Component
//根据前缀读取配置
@ConfigurationProperties(prefix = "redis")
@Data
public class RedisConfig {
private String host;
private int port;
private int timeout;//秒
private String password;
private int poolMaxTotal;
private int poolMaxIdle;
private int poolMaxWait;//秒
}
使用@bean注入容器
1 引入RedisConfig
@Autowired
RedisConfig redisConfig;
2 注入@bean
通过注入的reidsconfig 拿取数据
@Bean
public JedisPool JedisPoolFactroy(){
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxIdle(redisConfig.getPoolMaxIdle());
poolConfig.setMaxTotal(redisConfig.getPoolMaxTotal());
poolConfig.setMaxWaitMillis(redisConfig.getPoolMaxWait() * 1000);
JedisPool jedisPool= new JedisPool(poolConfig,redisConfig.getHost(),redisConfig.getPort(),redisConfig.getTimeout());
return jedisPool;
}
注意事项
由于@bean是在RedisService中进行实例的,所以 RedisService不能在注入@bean的实例,因为他已经依赖了…否则会报错
补充新知识
如果你根据你类类型的不同,做不同的业务逻辑
class<T> clazz= value.getclass();
if(clazz == int.class || clazz == string.class){
}
总结
虽然很简单,但是就是想写写.O(∩_∩)O哈哈~