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就去看看它的文檔,還是蠻全的,文檔地址: