使用过spring框架的朋友一定有过这种经历:就只是修改了一个配置文件,都需要重启系统(设置重新打包,比如springboot的jar包项目),到了springcloud这个问题就迎刃而解了,springcloud针对配置提供的方案就是今天的主题:spring-cloud-config,这是一个分布式配置一站式解决方案,使用起来也很方便,下面看下常规的配置:
client端:
spring.cloud.config.uri=http://localhost:8888 spring.cloud.config.profile=dev
server端:
spring.profiles.active=native
#使用git存储配置文件 spring.cloud.config.server.git.uri=xxx
上面是使用spring-cloud-config比较常见的配置,但是spring-cloud-config还有几个不常用的配置笔者这里要提一下,避免大家在使用时踩坑:
#如果想要远程配置优先级高,那么allowOverride设置为false,如果想要本地配置优先级高那么allowOverride设置为true
spring.cloud.config.allowOverride=true
#overrideNone为true时本地配置优先级高,包括系统环境变量、本地配置文件等等 spring.cloud.config.overrideNone=true
#只有系统环境变量或者系统属性才能覆盖远程配置文件的配置,本地配置文件中配置优先级低于远程配置 spring.cloud.config.overrideSystemProperties=true
注:
特别需要注意的是上面三个配置一定要写在配置文件中,而不是写在config server的配置文件中,这三个属性将会影响外部配置文件中的配置优先级。