Saltar al contenido

¿Cuál es la diferencia entre poner una propiedad en application.yml o bootstrap.yml en Spring Boot?

Pudiera darse el caso de que halles algún problema con tu código o trabajo, recuerda probar siempre en un entorno de testing antes aplicar el código al trabajo final.

Solución:

acabo de preguntar a la Spring Cloud chicos y pensé que debería compartir la información que tengo aquí.

bootstrap.yml se carga antes application.yml.

Normalmente se utiliza para lo siguiente:

  • al usar Spring Cloud Config Server, debe especificar spring.application.name y spring.cloud.config.server.git.uri en el interior bootstrap.yml
  • algunos encryption/decryption información

Técnicamente, bootstrap.yml es cargado por un resorte padre ApplicationContext. ese padre ApplicationContext se carga antes que el que usa application.yml.

bootstrap.yml o bootstrap.properties

Solo se usa/necesita si está usando Nube de primavera y la configuración de su aplicación se almacena en un servidor de configuración remoto (por ejemplo, Spring Cloud Config Server).

De la documentación:

Una aplicación de Spring Cloud funciona mediante la creación de un contexto de “arranque”, que es un contexto principal para la aplicación principal. Fuera de la caja, es responsable de cargar las propiedades de configuración de las fuentes externasy también descifrar propiedades en los archivos de configuración externos locales.

Tenga en cuenta que el bootstrap.yml o bootstrap.propertieslata contienen configuración adicional (por ejemplo, valores predeterminados), pero generalmente solo necesita poner la configuración de arranque aquí.

Normalmente contiene dos propiedades:

  • ubicación del servidor de configuración (spring.cloud.config.uri)
  • nombre de la aplicación (spring.application.name)

Al iniciarse, Spring Cloud realiza una llamada HTTP al servidor de configuración con el nombre de la aplicación y recupera la configuración de esa aplicación.

application.yml o application.properties

Contiene la configuración estándar de la aplicación; por lo general, la configuración predeterminada, ya que cualquier configuración recuperada durante el proceso de arranque anulará la configuración definida aquí.

Esta respuesta ha sido muy bien explicada en el libro “Preguntas de entrevista sobre microservicios, para desarrolladores de Java (Spring Boot, Spring Cloud, aplicaciones nativas de la nube) por candelabro munishVersión 1.30, 25.03.2018.

El siguiente contenido ha sido tomado de este libro, y el crédito total por esta respuesta es para el autor del libro, es decir candelabro munish

aplicación.yml

aplicación.yml/aplicación.propiedades El archivo es específico para las aplicaciones Spring Boot. A menos que cambie la ubicación de las propiedades externas de una aplicación, Spring Boot siempre se cargará aplicación.yml desde la siguiente ubicación:

/src/main/resources/application.yml

Puede almacenar todas las propiedades externas de su aplicación en este archivo. Las propiedades comunes que están disponibles en cualquier proyecto Spring Boot se pueden encontrar en: https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html Puede personalizar estas propiedades como según las necesidades de su aplicación. El archivo de muestra se muestra a continuación:

spring:
    application:
        name: foobar
    datasource:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://localhost/test
server:
    port: 9000

bootstrap.yml

bootstrap.yml por otro lado es específico para primavera-nube-config y se carga antes del aplicación.yml

bootstrap.yml solo es necesario si está utilizando Spring Cloud y su configuración de microservicio está almacenada en un servidor Spring Cloud Config remoto.

Puntos importantes sobre bootstrap.yml

  1. Cuando se usa con el servidor Spring Cloud Config, debe especificar el nombre de la aplicación y la ubicación de configuración de git usando las siguientes propiedades.
spring.application.name: "application-name"
spring.cloud.config.server.git.uri: "git-uri-config"

  1. Cuando se usa con microservicios (que no sean el servidor de configuración en la nube), debemos especificar el nombre de la aplicación y la ubicación del servidor de configuración usando las siguientes propiedades
spring.application.name: 
spring.cloud.config.uri: 
  1. Este archivo de propiedades puede contener otra configuración relevante para el entorno de Spring Cloud, por ejemplo, la ubicación del servidor eureka, las propiedades relacionadas con el cifrado/descifrado.

Al iniciarse, Spring Cloud realiza una llamada HTTP(S) al servidor de configuración de Spring Cloud con el nombre de la aplicación y recupera la configuración de esa aplicación.

application.yml contiene la configuración predeterminada para el microservicio y cualquier configuración recuperada (desde el servidor de configuración de la nube) durante el proceso de arranque anulará la configuración definida en application.yml

Si te mola el proyecto, tienes la opción de dejar un tutorial acerca de qué te ha gustado de este escrito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *