SpringCloud 客戶端使用

2023-06-09 14:14 更新

要在應(yīng)用程序中使用這些功能,您可以將其構(gòu)建為依賴于spring-cloud-config-client的Spring Boot應(yīng)用程序(例如,請(qǐng)參閱config-client或示例應(yīng)用程序的測(cè)試用例)。添加依賴項(xiàng)最方便的方法是使用Spring Boot啟動(dòng)器?org.springframework.cloud:spring-cloud-starter-config?。還有一個(gè)Maven用戶的父pom和BOM(?spring-cloud-starter-parent?),以及一個(gè)Gradle和Spring CLI用戶的Spring IO版本管理屬性文件。以下示例顯示了典型的Maven配置:

pom.xml。 

   <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
       <version>{spring-boot-docs-version}</version>
       <relativePath /> <!-- lookup parent from repository -->
   </parent>

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-dependencies</artifactId>
			<version>{spring-cloud-version}</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

<dependencies>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-config</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

<build>
	<plugins>
           <plugin>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-maven-plugin</artifactId>
           </plugin>
	</plugins>
</build>

   <!-- repositories also needed for snapshots and milestones -->

現(xiàn)在,您可以創(chuàng)建一個(gè)標(biāo)準(zhǔn)的Spring Boot應(yīng)用程序,例如以下HTTP服務(wù)器:

@SpringBootApplication
@RestController
public class Application {

    @RequestMapping("/")
    public String home() {
        return "Hello World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

當(dāng)此HTTP服務(wù)器運(yùn)行時(shí),它將從端口8888上的默認(rèn)本地配置服務(wù)器(如果正在運(yùn)行)中獲取外部配置。要修改啟動(dòng)行為,可以使用?bootstrap.properties?(類似于?application.properties?,但用于應(yīng)用程序上下文的引導(dǎo)階段),如以下示例所示:

spring.cloud.config.uri: http://myconfigserver.com

默認(rèn)情況下,如果未設(shè)置應(yīng)用程序名稱,將使用?application?。要修改名稱,可以將以下屬性添加到?bootstrap.properties?文件中:

spring.application.name: myapp

設(shè)置屬性?${spring.application.name}?時(shí),請(qǐng)勿在您的應(yīng)用名稱前加上保留字?application-?,以防止解析正確的屬性源時(shí)出現(xiàn)問(wèn)題。引導(dǎo)程序?qū)傩栽??/env??端點(diǎn)中顯示為高優(yōu)先級(jí)屬性源,如以下示例所示。

$ curl localhost:8080/env
{
  "profiles":[],
  "configService:https://github.com/spring-cloud-samples/config-repo/bar.properties":{"foo":"bar"},
  "servletContextInitParams":{},
  "systemProperties":{...},
  ...
}

名為?``configService:<URL of remote repository>/<file name>?的屬性源包含值為?bar?的?foo?屬性,并且優(yōu)先級(jí)最高。

  屬性源名稱中的URL是git存儲(chǔ)庫(kù),而不是配置服務(wù)器URL。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)