昨天复习springcloud项目开发的时候,在集合springcloud config和springcloud bus 是遇到一个问题: "使用了DRUID数据驱动" 配置文件提交到了git仓库 也通过post请求通知注册在eureka中的各个服务,更换了部署环境(dev:数据库_01,prod:数据库_02)各个服务启动之后,从dev切换到prod之后正常来讲数据应该来自数据库_02但是数据依然是数据库_01的,通过一系列找资料找到了方法:
应该创建一个DruidConfig的配置类,使用@refreshScope注解和@ConfigurationProperties(prefix = "配置信息")创建一个获取datasource对象的类并使用@bean注解和@configuration将其注册到srping管理
坑一: @refreshScope放在DruidConfig配置类的类名上修饰.结果还是不能显示数据库_02的数据
结果: 将@refreshScope放在方法上
@Configuration
public class DruidConfig {
@Bean
@RefreshScope //刷新配置
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource druid(){
return new DruidDataSource();
}
}
这样重启项目,数据来源就对了.