springboot配置redis

在这里插入图片描述
spring.factories文件里
在这里插入图片描述
之后的redis相关自动配置
在这里插入图片描述
点进去这个RedisAutoConfiguration看看
在这里插入图片描述
两个关注点,一个是RedisProperties.class,是将配置文件中的配置通过setter方法该类中对应属性的值。
另一个是@ConditionalOnMissingBean注解作用在@bean定义上,它的作用就是在容器加载它作用的bean时,检查容器中是否存在目标类型(ConditionalOnMissingBean注解的value值)的bean了,如果存在这跳过原始bean的BeanDefinition加载动作。
在项目中会写自己的redis配置类。

RedisProperties.class

在这里插入图片描述
applification.properties里redis相关配置(我的项目里)
在这里插入图片描述
配置文件中配置字段与RedisProperties.class类中属性一致的,通过setter方法来设值

redis配置类

@Configuration
public class RedisConfig {
    @Bean
    public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory){
        //注入第三方bean
        //实例化bean
        RedisTemplate<String,Object> template = new RedisTemplate<>();
        //利用template访问数据库,这个template要具备访问数据库的能力,
        // 需要创建连接,连接是由连接工厂创建的,所以需要把连接工厂注入给template,才能访问数据库
        template.setConnectionFactory(factory);
        //配置序列化的方式,因为程序是java程序,得到的数据是java类型的数据,
        // 最终要把数据存到redis数据库里,,那么要指定序列化方式
        //设置key的序列化方式
        template.setKeySerializer(RedisSerializer.string());
        //设置value的序列化方式
        template.setValueSerializer(RedisSerializer.json());
        //设置hash的key的序列化方式
        template.setHashKeySerializer(RedisSerializer.string());
        //设置hash的value的序列化方式
        template.setHashValueSerializer(RedisSerializer.json());
        //触发生效
        template.afterPropertiesSet();
        return template;
    }
}

参考资料:
@ConditionalOnMissingBean注解理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值