Aracılığıyla paylaş


Hızlı Başlangıç: Azure Uygulaması Yapılandırması ile Java Spring uygulaması oluşturma

Bu hızlı başlangıçta, kodunuzdan ayrı olarak uygulama ayarlarının depolanmasını ve yönetimini merkezileştirmek için Azure Uygulaması Yapılandırması'nı bir Java Spring uygulamasına ekleyeceksiniz.

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir tane oluşturun.
  • Mağaza oluşturma öğreticisinde gösterildiği gibi bir Uygulama Yapılandırma deposu.
  • Sürüm 11 ile desteklenen bir Java Development Kit (JDK).
  • Apache Maven sürüm 3.0 veya üzeri.
  • Spring Boot uygulaması. Yoksa Spring Initializr ile bir Maven projesi oluşturun. Maven Projesi'ni seçtiğinizden ve Bağımlılıklar'ın altında Spring Web bağımlılığını eklediğinizden ve ardından Java sürüm 8 veya üzerini seçtiğinizden emin olun.

Anahtar-değer ekleme

Uygulama Yapılandırması deposuna aşağıdaki anahtar değerini ekleyin ve Etiket ve İçerik Türü değerlerini varsayılan değerleriyle bırakın. Azure portalını veya CLI'yı kullanarak bir depoya anahtar-değer ekleme hakkında daha fazla bilgi için Anahtar-değer oluşturma bölümüne gidin.

Anahtar Değer
/application/config.message Merhaba

Uygulama Yapılandırması deposuna bağlanma

Artık bir Uygulama Yapılandırması mağazanız olduğuna göre, uygulamanızın oluşturduğunuz Uygulama Yapılandırması deposuyla iletişim kurmasını sağlamak için Spring Cloud Azure Config başlatıcısını kullanabilirsiniz.

Spring Cloud Azure Config başlangıç modülünü yüklemek için pom.xml dosyanıza aşağıdaki bağımlılığı ekleyin:

<dependencies>
    ...
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-dependencies</artifactId>
        <version>6.0.0</version>
        <type>pom</type>
        <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
  1. Varsayılan olarak, kitaplık Yönetilen Kimlik tarafından Uygulama Yapılandırma deposuna bağlanır. Kimlik bilgilerinizi Uygulama Yapılandırması Veri Okuyucusu rolü atamak için yönergeleri izleyin. Uygulamanızı çalıştırmadan önce iznin yayılması için yeterli süreye izin verdiğinden emin olun. Ardından AppConfigCredential.java adlı yeni bir dosya oluşturun ve aşağıdaki satırları ekleyin:

    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());
        }
    }
    

    Uyarı

    Ayrıca, kimlik doğrulama bilgilerini sağlamak için Spring Cloud Azure kimlik doğrulamasını kullanabilirsiniz. Azure Spring yapılandırmasıyla kimlik doğrulaması yaparken, tüm Azure Spring kitaplıkları için aynı kimlik doğrulamasının kullanılmasını sağlar.

  2. Ardından, dizin altında spring.factories dosya oluşturup resources/META-INF aşağıdaki satırları ekleyip uygulama adınız ve paketinizle güncelleştirerek com.example.MyApplication bir yapılandırma Bootstrap Yapılandırması oluşturun:

    org.springframework.cloud.bootstrap.BootstrapConfiguration=\
    com.example.MyApplication
    
  3. Uygulamanızın resources dizininde application.properties adlı yeni bir dosya oluşturun ve dosyaya aşağıdaki satırı ekleyin.

    spring.config.import=azureAppConfiguration
    spring.cloud.azure.appconfiguration.stores[0].endpoint= ${APP_CONFIGURATION_ENDPOINT}
    

Uygulama Yapılandırma mağazasından oku

Uygulamanızın oluşturduğunuz Uygulama Yapılandırması deposuyla iletişim kurması için Spring Cloud Azure Config başlatıcısını kullanmak için aşağıdaki adımları kullanarak uygulamayı yapılandırın.

  1. MyProperties.java adlı yeni bir Java dosyası oluşturun ve aşağıdaki satırları ekleyin:

    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    @Component
    @ConfigurationProperties(prefix = "config")
    public class MyProperties {
        private String message;
    
        public String getMessage() {
            return message;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
    }
    
  2. HelloController.java adlı yeni bir Java dosyası oluşturun ve aşağıdaki satırları ekleyin:

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class HelloController {
    
        @Autowired
        private MyProperties properties; 
    
        @GetMapping
        public String getMessage() {
            return "Message: " + properties.getMessage();
        }
    }
    
  3. otomatik olarak oluşturulan birim testini açın ve Azure Uygulaması Yapılandırması'nı devre dışı bırakmak için güncelleştirin veya birim testlerini çalıştırırken hizmetten yüklemeye çalışır.

    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() {
        }
    
    }
    

Uygulamayı yerel olarak derleme ve çalıştırma

  1. APP_CONFIGURATION_ENDPOINT adlı bir ortam değişkeni ayarlayın ve bunu Uygulama Yapılandırması deponuzun erişim anahtarına ayarlayın. Komut satırında aşağıdaki komutu çalıştırın ve değişikliğin etkili olması için komut istemini yeniden başlatın:

    setx APP_CONFIGURATION_ENDPOINT "<endpoint-of-your-app-configuration-store>"
    

    Windows PowerShell kullanıyorsanız aşağıdaki komutu çalıştırın:

    $Env:APP_CONFIGURATION_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
    

    macOS veya Linux kullanıyorsanız aşağıdaki komutu çalıştırın:

    export APP_CONFIGURATION_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Kök dizinde komut istemini açın ve Maven ile Spring Boot uygulamanızı derlemek ve çalıştırmak için aşağıdaki komutları çalıştırın.

    mvn clean package
    mvn spring-boot:run
    
  3. Uygulamanız çalıştırıldıktan sonra curl kullanarak uygulamanızı test edin, örneğin:

    curl -X GET http://localhost:8080/
    

    Uygulama Yapılandırması mağazasına girdiğiniz iletiyi görürsünüz.

Kaynakları temizleme

Bu makalede oluşturulan kaynakları kullanmaya devam etmek istemiyorsanız ücretlerden kaçınmak için burada oluşturduğunuz kaynak grubunu silin.

Önemli

Silinen kaynak grupları geri alınamaz. Kaynak grubu ve içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. Bu makalenin kaynaklarını, saklamak istediğiniz diğer kaynakları içeren bir kaynak grubu içinde oluşturduysanız, kaynak grubunu silmek yerine her kaynağı ilgili bölmeden tek tek silin.

  1. Azure portalında oturum açın ve Kaynak grupları'nı seçin.
  2. Ada göre filtrele kutusuna kaynak grubunuzun adını girin.
  3. Genel bir bakış görmek için sonuç listesinde kaynak grubu adını seçin.
  4. Kaynak grubunu sil'i seçin.
  5. Kaynak grubunun silinmesini onaylamanız istenir. Onaylamak için kaynak grubunuzun adını girin ve Sil'i seçin.

Birkaç dakika sonra kaynak grubu ve tüm kaynakları silinir.

Sonraki adımlar

Bu hızlı başlangıçta yeni bir Uygulama Yapılandırması deposu oluşturdunuz ve bunu bir Java Spring uygulamasıyla kullandınız. Daha fazla bilgi için bkz . Azure'da Spring. Daha fazla soru için başvuru belgelerine bakın; Spring Cloud Azure Uygulaması Configuration kitaplığının nasıl çalıştığıyla ilgili tüm ayrıntılara sahiptir. Java Spring uygulamanızın yapılandırma ayarlarını dinamik olarak yenilemesini nasıl etkinleştireceğinizi öğrenmek için sonraki öğreticiye geçin.