本文將介紹如何讓現有的Spring Boot項目接入Apollo,還未搭建Apollo服務端的請移步到我前面的文章進行閱讀。
下面以 Cas 單點登錄項目為例,進行簡單的接入操作,更多詳細的方法請參考:
[github官方文檔] /ctripcorp/apollo/wiki/Java 客戶端使用指南
接入之前,需要先在 Apollo 服務器創建需要的配置項。
默認訪問: localhost:8070 創建項目
添加並發布配置項
修改 application.properties 或 bootstrap.properties 配置
在啟動類添加 @EnableApolloConfig 註解。
目前在我們公司的項目中,cas使用第壹種方式,其他項目使用第二種方式。因為cas單點登錄的啟動類不是我們自定義的,直接在配置文件中配置比較方便。
其他方式這裏不進行介紹了,想具體了解的可以到官網。
在 application.properties 或者 bootstrap.properties 中按照如下樣例進行配置
這種配置方式不適用於多個war包部署在同壹個tomcat的使用場景,考慮到我們公司雖然是做往微服務方向發展,但是可能也會以war包的形式部署到同壹個tomcat,所以我沒采用這種方式,而是采用了第二種方式。
在 resources/META-INF/ 目錄下創建 app.properties 文件,把 app.id 和 apollo.meta 的配置移到該配置文件.
下圖中,我采用了占位符形式是為了便於實施人員在Maven編譯部署時可以以設置變量的方式進行賦值,避免更改配置文件(這裏可以不用Maven設置變量的方式,直接寫configserver的地址也可以。)。而開發人員在本地進行開發時,可以在通過 server.properties 配置文件來進行配置 apollo.meta ,因為通過 server.properties 配置的方式優先級比在 app.properties 配置的方式高。
使用Maven設置變量的方式需要在pom.xml文件添加resources標簽
通過server.properties配置文件
啟動 Cas 成功,登錄後,訪問上面的測試接口:
apollo 配置起效。