apollo客户端springboot实战(四)
1. apollo客户端springboot实战(四)
1.1. 前言
经过前几张入门学习,基本已经完成了apollo环境的搭建和简单客户端例子,但我们现在流行的通常是springboot的客户端,所以这章还是来学习下springboot客户端如何和apollo整合
接下来我来改造我自己的项目,我本来的项目接入的是spring config配置管理中心,读的git上的配置,它没有管理界面,功能也比较单一,所以我打算替换成apollo
1.2. 配置改动
添加配置类,这个@enableapolloconfig 也可以直接放在启动类上,我单独一个配置类起到一定隔离,不需要的时候把apollo这个相关包注掉或删掉
这是我原本的config配置
- 现在先前的config配置完全注掉,添加个application.yml配置个基本信息,原来存在git上的配置则统一放apollo上去
从1.2.0版本开始,如果希望把日志相关的配置(如logging.level.root=info或logback-spring.xml中的参数)也放在apollo管理,那么可以额外配置apollo.bootstrap.eagerload.enabled=true来使apollo的加载顺序放到日志系统加载之前,不过这会导致apollo的启动过程无法通过日志的方式输出(因为执行apollo加载的时候,日志系统压根没有准备好呢!所以在apollo代码中使用slf4j的日志输出便没有任何内容)-----这是官方原话,但我实际操作发现我用 apollo.bootstrap.eagerload.enabled=false根本没有日志打印,打了spring logo就没了,浏览器测试下接口通的,说明启动完成了,但日志不起效果,反而用true就有我自己系统日志了,所以我这里设了true
配置pom
<!-- 阿波罗配置中心 --> <dependency> <groupid>com.ctrip.framework.apollo</groupid> <artifactid>apollo-client</artifactid> <version>1.3.0</version> </dependency>
- 其他我们原先在application.properties中配置的属性全部移到appollo
1.3. 总结
阿波罗客户端的配置还是相当简单的,几乎没什么变动,如果有监听配置改动的需求,它还提供了一个监听注解@apolloconfigchangelistener
,想要完全了解apollo就去看看它的文档,还是蛮全的,文档地址:
https://github.com/ctripcorp/apollo/wiki
上一篇: 合并ThinkPHP配置文件以消除代码冗余的实现方法
下一篇: L2-025 分而治之(图)