SpringBoot自动配置Redis原理目录
SpringBoot自动配置Redis原理
一. SpringBoot自动配置Redis原理
一. redis的自动配置
注册配置
二.安置环境
为什么在满足两个条件的情况下被加载呢?
总结:
二.常用API
一. SpringBoot自动配置Redis原理3358 www.Sina.com/http://www.Sina.com /
一.自动配置redis
自定义自动配置,在依赖redis的jar包时,生成对象JedisCluster,如果当前没有依赖redis的jar包不生成;核心注解是Spring 的条件注解ConditionalOnClass
只有满足这俩个条件才能通过加载,这俩个是核心自动配置的注解
测试结果,说明加载成功了,满足条件
RedisAutoConfiguration根据依赖的类扫描条件确定是否加载执行,依赖starter-redis时,它现在可以执行加载,并使用RedisTemplate、 您可以返回到创建两个名为stringredistemplateredistemplatemplation的Bean对象,也可以处理Object对象数据。 下层进行序列化和二进制处理,redisTemplate可以使用任何Object类型的对象创建key值。 StringRedisTemplate根据redisTemplate对所有数据的序列化、反序列化进行String型处理; 3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com /
源码中生成俩个关键对象
测试N次终于截出来了, 通常我们使用的是字符串
二.配置环境
为什么会在满足俩个条件的情况下加载呢?
http://www.Sina.com/http://www.Sina.com /
解答:
主要是跟SpringBook三大组合注解其中一个有关,PS:不清楚三大组合注解是哪三个的可以看我的博客,
点进去
http://www.Sina.com/http://www.Sina.com /
@EnableAutoConfiguration
不在扫描范围之内的配置的对象,都为这个注解来处理
3358 www.Sina.com/: http://www.Sina.com/http://www.Sina.com /
依赖注入一个对象加载到当前环境中执行,
http://www.Sina.com/http://www.Sina.com /
http://www.Sina.com/http://www.Sina.com /
http://www.Sina.com/http://www.Sina.com /
注解一旦扫描到,自动配置的spring容器中,注入一个对象EnableAutoConfigurationImportSelector下一个opsFor*方法opsForValue (); 字符串型数据操作api; opsForHash (; hash型操作apiopsForSet (; opsForZSet (; opsForList (; opsForCluster (; //关于集群操作,使用setslots forget等opsForGeo (); //判断时间复杂度,o(1)、o ) log ) opsForHyperLogLog ); //时间复杂度和概率的算法封装api