Rychlý Start: Přidání příznaků funkcí do aplikace na jaře Boot

V tomto rychlém startu zařadíte konfiguraci aplikací Azure do webové aplikace na jaře Boot, která vytvoří ucelenou implementaci správy funkcí. Službu konfigurace aplikací můžete použít k centrálnímu ukládání všech příznaků funkcí a řízení jejich stavů.

Knihovny pro správu funkcí pružiny rozšiřuje rámec s kompletní podporou příznaků funkcí. Tyto knihovny nemají závislost na žádné knihovně Azure. Bez problémů se integruje s konfigurací aplikací prostřednictvím poskytovatele konfigurace spouštění pružiny.

Požadavky

Vytvoření instance konfigurace aplikace

  1. Pokud chcete vytvořit nové úložiště konfigurace aplikace, přihlaste se k Azure Portal. V levém horním rohu domovské stránky vyberte vytvořit prostředek. Do pole Hledat na Marketplace zadejte Konfigurace aplikace a vyberte ENTER.

    Vyhledat konfiguraci aplikace

  2. Ve výsledcích hledání vyberte Konfigurace aplikace a pak vyberte vytvořit.

    Výběr možnosti Vytvořit

  3. V podokně vytvořit konfiguraci aplikace zadejte následující nastavení:

    Nastavení Navrhovaná hodnota Popis
    Předplatné Vaše předplatné Vyberte předplatné Azure, které chcete použít k testování konfigurace aplikace. Pokud má váš účet jenom jedno předplatné, vybere se automaticky a seznam předplatných se nezobrazí.
    Skupina prostředků AppConfigTestResources Vyberte nebo vytvořte skupinu prostředků pro prostředek úložiště konfigurace aplikace. Tato skupina je užitečná k organizování více prostředků, které můžete chtít odstranit současně odstraněním skupiny prostředků. Další informace najdete v tématu použití skupin prostředků ke správě prostředků Azure.
    Název prostředku Globálně jedinečný název Zadejte jedinečný název prostředku, který se má použít pro prostředek úložiště konfigurace aplikace. Název musí být řetězec o 5 až 50 znaků a obsahovat pouze čísla, písmena a - znak. Název nesmí začínat ani končit - znakem.
    Umístění USA – střed Umístění použijte k určení geografického umístění, ve kterém je úložiště konfigurace aplikace hostované. Nejlepšího výkonu dosáhnete vytvořením prostředku ve stejné oblasti jako jiné součásti aplikace.
    Cenová úroveň Free Vyberte požadovanou cenovou úroveň. Další informace najdete na stránce s cenami konfigurace aplikací.
  4. Vyberte zkontrolovat + vytvořit a ověřte nastavení.

  5. Vyberte Vytvořit. Nasazení může trvat několik minut.

  6. Po dokončení nasazení přejděte do prostředku konfigurace aplikace. Vyberte Nastavení > Přístupové klíče. Poznamenejte si primární připojovací řetězec klíče jen pro čtení. Pomocí tohoto připojovacího řetězce později nakonfigurujete aplikaci tak, aby komunikovala s úložištěm konfigurace aplikace, které jste vytvořili.

  1. Vyberte správce funkcí > + Přidat a přidejte příznak funkce s názvem Beta .

    Povolit příznak funkce s názvem beta

    labelPro teď nechte nedefinovaného.

Vytvoření aplikace pro spouštění pružiny

Pomocí jarního Initializru vytvořte nový projekt pro spuštění pružiny.

  1. Přejděte na adresu https://start.spring.io/.

  2. Zadejte následující možnosti:

    • Vygenerujte projekt Maven v Javě.
    • Zadejte verzi pro jarní spuštění , která je rovna nebo větší než 2,0.
    • Zadejte názvy skupiny (Group) a artefaktu (Artifact) pro vaši aplikaci. Tento článek používá com.example a demo .
    • Přidejte webovou závislost pružiny .
  3. Po zadání předchozích možností vyberte možnost generovat Project. Po zobrazení výzvy Stáhněte projekt do svého místního počítače.

Přidat správu funkcí

  1. Po extrahování souborů v místním systému je vaše aplikace pro spouštění pružiny připravená k úpravám. Vyhledejte pom.xml v kořenovém adresáři aplikace.

  2. V textovém editoru otevřete soubor pom.xml a přidejte následující text do seznamu <dependencies> :

    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>azure-spring-cloud-appconfiguration-config-web</artifactId>
        <version>2.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>azure-spring-cloud-feature-management-web</artifactId>
        <version>2.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    

Poznámka

Připojení do úložiště konfigurace aplikace

  1. Přejděte do resources adresáře aplikace a otevřete bootstrap.properties . Pokud soubor neexistuje, vytvořte ho. Do souboru přidejte následující řádek.

    spring.cloud.azure.appconfiguration.stores[0].connection-string= ${APP_CONFIGURATION_CONNECTION_STRING}
    spring.cloud.azure.appconfiguration.stores[0].feature-flags.enabled=true
    
  2. Na portálu konfigurace aplikace pro úložiště konfigurace vyberte Access keys z tohoto bočního panelu. Vyberte kartu klíče jen pro čtení. Zkopírujte hodnotu primárního připojovacího řetězce.

  3. Přidejte primární připojovací řetězec jako proměnnou prostředí pomocí názvu proměnné APP_CONFIGURATION_CONNECTION_STRING .

  4. Otevřete soubor hlavní aplikace v jazyce Java a přidejte @EnableConfigurationProperties ho a povolte tuto funkci.

    package com.example.demo;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.boot.context.properties.EnableConfigurationProperties;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    @EnableConfigurationProperties(MessageProperties.class)
    public class DemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    }
    
  5. V adresáři balíčku aplikace vytvořte nový soubor Java s názvem MessageProperties. Java .

    package com.example.demo;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    @ConfigurationProperties(prefix = "config")
    public class MessageProperties {
        private String message;
    
        public String getMessage() {
            return message;
        }
    
        public void setMessage(String message) {
            this.message = message;
        }
    }
    
  6. V adresáři balíčku aplikace vytvořte nový soubor Java s názvem HelloController. Java .

    package com.example.demo;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    
    import com.azure.spring.cloud.feature.manager.FeatureManager;
    import org.springframework.web.bind.annotation.GetMapping;
    
    
    @Controller
    @ConfigurationProperties("controller")
    public class HelloController {
    
        private FeatureManager featureManager;
    
        public HelloController(FeatureManager featureManager) {
            this.featureManager = featureManager;
        }
    
        @GetMapping("/welcome")
        public String mainWithParam(Model model) {
            model.addAttribute("Beta", featureManager.isEnabledAsync("Beta").block());
            return "welcome";
        }
    }
    
  7. V adresáři templates vaší aplikace vytvořte nový soubor HTML s názvem welcome.html .

    <!DOCTYPE html>
    <html lang="en" xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <title>Feature Management with Spring Cloud Azure</title>
    
        <link rel="stylesheet" href="/css/main.css">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    
        <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
    
    </head>
    <body>
        <header>
        <!-- Fixed navbar -->
        <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
            <a class="navbar-brand" href="#">TestFeatureFlags</a>
            <button class="navbar-toggler" aria-expanded="false" aria-controls="navbarCollapse" aria-label="Toggle navigation" type="button" data-target="#navbarCollapse" data-toggle="collapse">
            <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarCollapse">
            <ul class="navbar-nav mr-auto">
                <li class="nav-item active">
                <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                </li>
                <li class="nav-item" th:if="${Beta}">
                <a class="nav-link" href="#">Beta</a>
                </li>
                <li class="nav-item">
                <a class="nav-link" href="#">Privacy</a>
                </li>
            </ul>
            </div>
        </nav>
        </header>
        <div class="container body-content">
            <h1 class="mt-5">Welcome</h1>
            <p>Learn more about <a href="https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/appconfiguration/azure-spring-cloud-feature-management/README.md">Feature Management with Spring Cloud Azure</a></p>
    
        </div>
        <footer class="footer">
            <div class="container">
            <span class="text-muted">&copy; 2019 - Projects</span>
        </div>
    
        </footer>
    </body>
    </html>
    
    
  8. Vytvořte novou složku s názvem CSS pod static a uvnitř IT novým souborem CSS s názvem Main. CSS.

    html {
     position: relative;
     min-height: 100%;
    }
    body {
     margin-bottom: 60px;
    }
    .footer {
     position: absolute;
     bottom: 0;
     width: 100%;
     height: 60px;
     line-height: 60px;
     background-color: #f5f5f5;
    }
    
    body > .container {
     padding: 60px 15px 0;
    }
    
    .footer > .container {
     padding-right: 15px;
     padding-left: 15px;
    }
    
    code {
     font-size: 80%;
    }
    

Místní sestavení a spuštění aplikace

  1. Sestavte aplikaci Spring Boot pomocí Mavenu a spusťte ji.

    mvn clean package
    mvn spring-boot:run
    
  2. Otevřete okno prohlížeče a použijte adresu URL: http://localhost:8080/welcome .

    Snímek obrazovky s uvítací zprávou zobrazuje okno prohlížeče.

  3. Na portálu konfigurace aplikace vyberte správce funkcí a změňte stav beta klíče na zapnuto:

    Klíč Stav
    Beta Zapnout
  4. Aktualizujte stránku prohlížeče, aby se zobrazilo nové nastavení konfigurace.

    Snímek obrazovky se zobrazí okno prohlížeče s úvodní zprávou a odkaz na verzi beta s názvem.

Vyčištění prostředků

Pokud nechcete dál používat prostředky vytvořené v tomto článku, odstraňte skupinu prostředků, kterou jste tady vytvořili, abyste předešli poplatkům.

Důležité

Odstranění skupiny prostředků je nevratné. Skupina prostředků a všechny prostředky v ní se trvale odstraní. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky. Pokud jste vytvořili prostředky pro tento článek v rámci skupiny prostředků, která obsahuje další prostředky, které chcete zachovat, odstraňte všechny prostředky jednotlivě z příslušného podokna, místo aby se odstranila skupina prostředků.

  1. Přihlaste se k Azure Portala vyberte skupiny prostředků.
  2. Do pole filtrovat podle názvu zadejte název vaší skupiny prostředků.
  3. V seznamu výsledků vyberte název skupiny prostředků, aby se zobrazil přehled.
  4. Vyberte Odstranit skupinu prostředků.
  5. Zobrazí se výzva k potvrzení odstranění skupiny prostředků. Zadejte název vaší skupiny prostředků, který chcete potvrdit, a vyberte Odstranit.

Po chvíli se odstraní skupina prostředků a všechny její prostředky.

Další kroky

V tomto rychlém startu jste vytvořili nové úložiště konfigurace aplikací a použili ho ke správě funkcí v rámci webové aplikace ve jarních aplikacích pomocí knihoven pro správu funkcí.