springcloud~配置中心的使用
阿新 • • 發佈:2018-12-29
配置中心作為springcloud裡最底層的框架,所發揮的意思是舉足輕重的,所以的元件的配置資訊都可以通過springcloud config來管理,它會把配置資訊分散式的儲存到git上,所以資訊保安這塊可以放心,其它應用程式在更新配置時,直接在遠端GIT倉庫更新即可,而且更新後自動同步到對應的程式裡,不需要重啟這個應用程式!
配置服務-服務端,最底層應用
依賴包
dependencies { compile('org.springframework.cloud:spring-cloud-config-server', 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server' ) testCompile('org.springframework.boot:spring-boot-starter-test') }
配置項
server: port: 8200 spring: application: name: lind-config-server cloud: config: server: git: uri: https://github.com/bfyxzls/lindconfig.repo.git/ search-paths: config-repo username:[email protected] password: 糹 eureka: instance: prefer-ip-address: true instance-id: ${spring.application.name}:${server.port} client: serviceUrl: defaultZone: http://localhost:8761/eureka/
啟動程式碼
@EnableDiscoveryClient @EnableConfigServer @SpringBootApplicationclass Application { public static void main(String[] args) { // demo http://localhost://8200/email-svt.yml SpringApplication.run(Application.class, args); } }
在github上新增對應的倉庫,客戶端的配置檔案將會同步到GIT倉庫,建議配置檔案採用yml語法!
/****************************************************************************************
* 配置服務的路勁規則:
*
* /{application}/{profile}[/{label}]
* /{application}-{profile}.yml
* /{label}/{application}-{profile}.yml
* /{application}-{profile}.properties
* /{label}/{application}-{profile}.properties
****************************************************************************************/
倉儲如圖:
檢視配置中心服務端是否正常
訪問:http://localhost:8200/email-svt.yml
配置中心-客戶端,遍及在所有應用中
依賴包
dependencies { compile('org.springframework.boot:spring-boot-starter-web', 'org.springframework.cloud:spring-cloud-starter-config', 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server') testCompile('org.springframework.boot:spring-boot-starter-test') }
配置項
spring: application: name: email #注意這裡的email是指配置中心git倉庫裡yml檔案的application的部分 cloud: config: uri: http://localhost:8200 server: port: 8300 eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/
啟動項
@EnableEurekaClient @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
我們可以在客戶端使用$Value註解完成配置檔案的讀取!
@RestController public class HomeController { @Value("${server.port}") // git配置檔案裡的key String serverPort; @RequestMapping("/") public String index() { return "serverPort=" + serverPort; } }
結果如圖:
感謝各位的閱讀!