问题的来源
项目是一个运行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; } }