spring boot redis 使用代码配置 redis的连接信息

问题的来源

项目是一个运行JS游戏的运行时框架,类似NODE那种玩意儿

对于一个游戏开发者来说,他直接面对的不会是JAVA,而直接是JS代码,我们的运行时(JAVA)需要为其提供redis的支持,但同时也要让开发者自定义edis的连接信息,并且并不是直接让开发者配置

yml这种配置文件,所以,当运行时启动完毕还需要加载游戏的配置文件(其中就包括数据库连接,redis连接信息)动态的去设置设置这些信息。

SO!在yml中提供配置是不行的。

 

@Configuration
public class RedisPropConfig {

    @Bean
    //Primary注解的作用是 因为在yml中有redis配置,Springboot根据配置自动生成了一个
    //RedisProperties的一个实例,我们在这自己又生成了一个实例
    //所以会出现两个RedisProperties实例
    //Primary的作用就是优先使用我们自己定义的实例
    //当然 删除yml中的redis配置之后就不会有这个问题了..
    //启动时会发现
    @Primary
    public RedisProperties getRedisProperties() {
        RedisProperties redisProperties = new RedisProperties();
        redisProperties.setHost("192.168.1.1");

        return redisProperties;
    }
}

 

 

posted @ 2021-09-19 17:20  方东信  阅读(728)  评论(0编辑  收藏  举报