案例
使用饲养员作为配置中心,实现配置的修改和自动下发,基于撒云我们可以轻松的实现。
添加依赖
pom.xml的关键信息如下
<代码> & lt; dependency> & lt; groupId> org.springframework.cloud & lt; artifactId> spring-cloud-starter-zookeeper-config & lt;/dependency> 代码>
启动配置
bootstrap.properties文件
<代码> server.port=8082 spring.application.name=服务员的服务 spring.cloud.zookeeper.connect-string=localhost: 2181 eureka.client.service-url.defaultZone=http://* * * *: 8761/尤里卡/代码>
应用配置
application.properties,默认配置一个配置项
<代码> #默认的配置项,订单折扣率 order.discount=95 代码>
启动本地单节点的饲养员
服务地址:localhost: 2181
管理员数据如何存储
配置项
<代码>/config/应?用名,配置文件/键=值代码>
1,/配置是根目录
2,服务名是下一级目录,这里是服务员的服务
3,配置的键和值对
配置路径定制
<代码> spring.cloud.zookeeper.config.root=配置 spring.cloud.zookeeper.config.default-context=应用程序 spring.cloud.zookeeper.config.profile-separator=薄ⅰ?/代码>
管理员数据准备
1,创建根路径/配置
2,创建服务名路径服务员的服务
3,配置一个配置项秩序。折扣=30
准备春天配置类
<代码> @ConfigurationProperties(“订单”) @RefreshScope @ data @ component 公开课OrderProperties { 私人整数折扣=100; 私人字符串waiterPrefix=安馐浴? }代码>
控制器,访问配置
<代码> @RestController @RequestMapping(“/咖啡”) @Slf4j 公开课CoffeeController { @ autowired 私人OrderProperties OrderProperties; @PostMapping(路径="/getDiscount ") @ResponseStatus (HttpStatus.CREATED) 公共字符串getDiscount () { 返回String.valueOf (orderProperties.getDiscount ()); }代码>
访问结果
更改配置
更新配置数据
结果自动下发
程序控制台日志