Compartir vía


Inicio rápido: Creación de una aplicación de Java Spring con Azure App Configuration

En este inicio rápido incorporará Azure App Configuration a una aplicación de Java Spring para centralizar el almacenamiento y la administración de la configuración de la aplicación de forma independiente del código.

Requisitos previos

Agregar un par clave-valor

Agregue el siguiente par clave-valor al almacén de App Configuration y deje Etiqueta y Tipo de contenido con sus valores predeterminados. Para obtener más información sobre cómo agregar pares clave-valor a un almacén mediante Azure Portal o la CLI, vaya a Creación de un par clave-valor.

Clave Importancia
/application/config.message Hola

Conexión a un almacén de App Configuration

Ahora que tiene un almacén de App Configuration, puede utilizar el iniciador de la configuración de Azure de Spring Cloud para que su aplicación se comunique con el almacén de App Configuration que ha creado.

Para instalar el módulo de inicio de configuración de Spring Cloud de Azure, agregue la siguiente dependencia al archivo pom.xml :

<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. De forma predeterminada, la biblioteca se conecta al almacén de App Configuration mediante identidad administrada. Siga las instrucciones para asignar la credencial al rol Lector de datos de App Configuration. Asegúrese de dejar tiempo suficiente para que el permiso se propague antes de ejecutar la aplicación. A continuación, cree un nuevo archivo denominado AppConfigCredential.java y agregue las siguientes líneas:

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

    Nota:

    Además, puede usar la autenticación de Spring Cloud Azure para proporcionar información de autenticación. Al autenticarse con la configuración de Azure Spring, permite usar la misma autenticación para todas las bibliotecas de Azure Spring.

  2. A continuación, cree la configuración de arranque, mediante la creación de un archivo spring.factories en el directorio resources/META-INF y agregue las siguientes líneas y la actualización de com.example.MyApplication con el nombre de su aplicación y el paquete:

    org.springframework.cloud.bootstrap.BootstrapConfiguration=\
    com.example.MyApplication
    
  3. Cree un nuevo archivo denominado application.properties en el directorio resources de la aplicación y agregue la siguiente línea al archivo.

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

Lectura desde el almacén de App Configuration

Para usar el iniciador de configuración de Azure de Spring Cloud para que la aplicación se comunique con el almacén de App Configuration que cree, configure la aplicación mediante los pasos siguientes.

  1. Cree un nuevo archivo java denominado MyProperties.java, y agregue las líneas siguientes:

    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. Cree un nuevo archivo Java denominado HelloController.java y agregue las siguientes líneas:

    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. Abra la prueba unitaria generada automáticamente y actualícela para deshabilitar Azure App Configuration, o la intentará cargar desde el servicio al ejecutar pruebas unitarias.

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

Compilación y ejecución de la aplicación en un entorno local

  1. Establezca una variable de entorno denominada APP_CONFIGURATION_ENDPOINT y establézcala en la clave de acceso en el almacén de App Configuration. En la línea de comandos, ejecute el siguiente comando y reinicie el símbolo del sistema para que se aplique el cambio:

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

    Si usa Windows PowerShell, ejecute el siguiente comando:

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

    Si usa macOS o Linux, ejecute el siguiente comando:

    export APP_CONFIGURATION_ENDPOINT='<endpoint-of-your-app-configuration-store>'
    
  2. Abra el símbolo del sistema en el directorio raíz y ejecute los comandos siguientes para compilar la aplicación de Spring Boot con Maven y ejecutarla.

    mvn clean package
    mvn spring-boot:run
    
  3. Una vez que se está ejecutando la aplicación, puede usar curl para probarla, por ejemplo:

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

    Verá el mensaje que escribió en el almacén de App Configuration.

Limpieza de recursos

Si no quiere seguir usando los recursos que se han creado en este artículo, elimine el grupo de recursos se que ha creado con el fin de evitar cargos.

Importante

La eliminación de un grupo de recursos es irreversible. El grupo de recursos y todos los recursos que contiene se eliminan permanentemente. Asegúrese de no eliminar accidentalmente el grupo de recursos o los recursos equivocados. Si creó los recursos para este artículo en un grupo de recursos que contenga los recursos que desee conservar, elimine cada recurso de forma individual desde su panel respectivo, en lugar de eliminar el grupo de recursos.

  1. Inicie sesión en Azure Portal y después seleccione Grupos de recursos.
  2. En el cuadro de texto Filtrar por nombre, escriba el nombre del grupo de recursos.
  3. En la lista resultados, seleccione el nombre del grupo de recursos para ver la información general.
  4. Seleccione Eliminar grupo de recursos.
  5. Se le pedirá que confirme la eliminación del grupo de recursos. Escriba el nombre del grupo de recursos para confirmar y seleccione Eliminar.

Transcurridos unos instantes, el grupo de recursos y todos sus recursos se eliminan.

Pasos siguientes

En este inicio rápido, ha creado un almacén de App Configuration y lo ha usado con una aplicación de Java Spring. Para más información, consulte Spring en Azure. Puede encontrar más preguntas en la documentación de referencia, que contiene todos los detalles sobre cómo funciona la biblioteca de Azure App Configuration de Spring Cloud. Para aprender a habilitar la aplicación de Java Spring y actualizar dinámicamente la configuración, continúe con el siguiente tutorial.