快速入門: 使用 Azure 應用程式組態建立 Java Spring 應用程式
在本快速入門中,您會將 Azure 應用程式組態納入 Java Spring 應用程式中,以集中儲存和管理應用程式設定 (與您的程式碼分開)。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立一個。
- 應用程式組態存放區。 建立存放區。
- 支援的 Java 開發套件 (JDK) 第 11 版。
- Apache Maven 3.0 版或更新版本。
- Spring Boot 應用程式。 如果您沒有這個應用程式,請使用 Spring Initializr 來建立 Maven 專案。 請務必選取 [Maven專案],然後在 [相依性] 下新增 Spring Web 相依性,然後選取 Java 版本 8 或更高版本。
新增金鑰值
將下列索引鍵/值新增至應用程式組態存放區,並保留標籤和內容類型的預設值。 如需如何使用 Azure 入口網站或 CLI 將索引鍵/值新增至存放區的詳細資訊,請移至建立索引鍵/值。
機碼 | 值 |
---|---|
/application/config.message | 您好 |
連線至應用程式組態存放區
現在您已擁有應用程式組態存放區,可以使用 Spring Cloud Azure Config 入門版,讓應用程式與您建立的應用程式組態存放區進行通訊。
若要安裝 Spring Cloud Azure Config 入門版模組,請將下列相依性新增至您的 pom.xml 檔案:
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.18.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
編碼應用程式
若要使用 Spring Cloud Azure Config 入門版,讓應用程式與您建立的應用程式組態存放區進行通訊,請使用下列步驟來設定應用程式。
建立名為 MyProperties.java 的新 Java 檔案,並新增下列幾行:
import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix = "config") public class MyProperties { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
建立名為 HelloController.java 的新 Java 檔案,並新增下列幾行:
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { private final MyProperties properties; public HelloController(MyProperties properties) { this.properties = properties; } @GetMapping public String getMessage() { return "Message: " + properties.getMessage(); } }
在主要應用程式 Java 檔案中,新增
@EnableConfigurationProperties
以讓 MyProperties.java 組態屬性類別生效,並將其註冊至 Spring 容器。import org.springframework.boot.context.properties.EnableConfigurationProperties; @SpringBootApplication @EnableConfigurationProperties(MyProperties.class) public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
您可以使用
DefaultAzureCredential
來向 應用程式組態 存放區進行驗證。 請遵循指示,將認證指派 應用程式組態 數據讀取者角色。 在執行應用程式之前,請務必允許足夠的時間來傳播許可權。 建立名為 AppConfigCredential.java 的新檔案, 並新增下列幾行:import org.springframework.stereotype.Component; import com.azure.data.appconfiguration.ConfigurationClientBuilder; import com.azure.identity.DefaultAzureCredentialBuilder; import com.azure.spring.cloud.appconfiguration.config.ConfigurationClientCustomizer; @Component public class AppConfigCredential implements ConfigurationClientCustomizer { @Override public void customize(ConfigurationClientBuilder builder, String endpoint) { builder.credential(new DefaultAzureCredentialBuilder().build()); } }
然後建立組態Bootstrap組態,方法是在目錄下
resources/META-INF
建立spring.factories
檔案,並新增下列幾行,並使用您的應用程式名稱和套件進行更新com.example.MyApplication
:org.springframework.cloud.bootstrap.BootstrapConfiguration=\ com.example.MyApplication
開啟自動產生的單元測試並更新以停用 Azure 應用程式組態,或在執行單元測試時嘗試從服務載入。
import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest(properties = "spring.cloud.azure.appconfiguration.enabled=false") class DemoApplicationTests { @Test void contextLoads() { } }
在應用程式的資源目錄下建立名為 bootstrap.properties 的新檔案,然後將下列幾行新增至該檔案。
spring.cloud.azure.appconfiguration.stores[0].endpoint= ${APP_CONFIGURATION_ENDPOINT}
設定名為 APP_CONFIGURATION_ENDPOINT 的環境變數,並將它設定為 應用程式組態 存放區的存取密鑰。 在命令列執行下列命令,然後重新啟動命令提示字元,讓變更生效:
setx APP_CONFIGURATION_ENDPOINT "<endpoint-of-your-app-configuration-store>"
如果您使用 Windows PowerShell,請執行下列命令:
$Env:APP_CONFIGURATION_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
如果您使用 macOS 或 Linux,請執行下列命令:
export APP_CONFIGURATION_ENDPOINT='<endpoint-of-your-app-configuration-store>'
於本機建置並執行應用程式
將命令提示字元開啟至根目錄,然後執行下列命令,以使用 Maven 組建 Spring Boot 應用程式並予以執行。
mvn clean package mvn spring-boot:run
在您的應用程式執行之後,使用 curl 來測試您的應用程式;例如:
curl -X GET http://localhost:8080/
您會看到您在應用程式組態存放區中輸入的訊息。
清除資源
如果您不想繼續使用本文中建立的資源,請刪除在此處建立的資源群組,以避免產生費用。
重要
刪除資源群組是無法回復的動作。 資源群組和其中的所有資源都將被永久刪除。 請確定您不會誤刪錯誤的資源群組或資源。 如果您是在包含需保留其他資源的資源群組內部,建立本文的資源,則可以從每個資源各自的窗格中個別刪除每個資源,而不必刪除整個資源群組。
- 登入 Azure 入口網站,然後選取 [資源群組]。
- 在 [依名稱篩選] 方塊中,輸入您資源群組的名稱。
- 在結果清單中,選取資源群組名稱以查看概觀。
- 選取 [刪除資源群組]。
- 系統將會要求您確認是否刪除資源群組。 輸入您資源群組的名稱以進行確認,然後選取 [刪除]。
不久後,系統便會刪除該資源群組及其所有的資源。
下一步
在本快速入門中,您已建立新的應用程式組態存放區,並將其與 Java Spring 應用程式搭配使用。 如需詳細資訊,請參閱 Azure 上的 Spring。 若有進一步的問題,請參閱參考文件,其中包含 Spring Cloud Azure 應用程式組態程式庫運作方式的所有詳細資料。 若要了解如何讓 Java Spring 應用程式以動態方式重新整理組態設定,請繼續進行下一個教學課程。