springboot dubbo项目dubbo配置用的xml配置,各个不同环境(本地,测试服dev,正式服pro)配置会有所不同,需要根据环境使用对应的配置。
2种实现方法
第一种实现方法:
利用
- ImportResource 加载的配置文件路径可以用${}占位符获得配置文件的属性值
- application.properties 中 ${环境变量名: 默认值} 可以读取环境变量值,如果该环境变量值不存在使用默认值,如果不清楚 点击这里 springboot配置文件加载配置动态值,利用环境变量。
具体实现:
1、 项目中加载dubbo配置文件是在 启动类 上增加注解
@EnableDubboConfiguration
@ImportResource(locations = {"classpath:dubbo-${dubbo.env}.xml"})
@SpringBootApplication
2、在application.properties 文件中
#如果系统环境变量没有dubboEnv,那么 dubbo.env 的属性值是local
#如果dubboEnv环境变量值是dev,那么 dubbo.env 的属性值是dev
dubbo.env=${dubboEnv:local}
3、 有3个不同环境dubbo配置文件,内容就不描述了
dubbo-local.xml
dubbo-dev.xml
dubbo-pro.xml
通过设置环境变量,启动程序时就能按照环境不同加载对应的dubbo xml配置文件了!
第二种方法
利用
- 1 ImportResource 加载的配置文件路径可以用${}占位符获得配置文件的属性值
- 2 启动程序时指定spring.properties.active 加载不同的 application.properties 配置文件,如果不清楚 点击这里:springboot项目启动时指定加载的配置文件 spring.properties.active,解决不同部署运行环境配置不同问题
和第一种方法有点类似,就不多废话了。