Spring Boot – Padre de inicio

Spring Boot Starter Parent es un proyecto de inicio que proporciona la configuración predeterminada para aplicaciones basadas en Spring. Se agrega como padre en el archivo pom.xml. Spring -boot-starter-parent define spring-boot-dependencies como su padre. Spring-boot-starter-parent hereda la gestión de dependencias de spring -boot-dependencies . Cada lanzamiento de Spring Boot proporciona una lista de dependencias y las últimas versiones que admite. La función de administración de dependencias del padre inicial permite que las dependencias comunes omitan la etiqueta <version> en el archivo pom.xml. Si una dependencia requiere una versión específica que no sea la versión configurada por el padre inicial, se puede agregar usando eletiqueta <versión> . Las siguientes son las características del proyecto principal de inicio:

  • La función de gestión de dependencias gestiona las versiones de las dependencias comunes.
  • Proporcione el nivel de compilador predeterminado como codificación fuente Java 1.8 y UTF-8.
  • Proporciona una configuración predeterminada para los complementos de Maven, como maven-surefire-plugin, maven-jar-plugin y maven-failsafe-plugin.
  • Ejecuta un objetivo de reempaquetado con un ID de ejecución de reempaquetado .
  • Filtrado de recursos y configuración de archivos específicos del perfil.

El padre de spring-boot-starter-parent tiene el siguiente aspecto

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.1.0.RELEASE</version>
    <relativePath>../../spring-boot-dependencies</relativePath>
</parent>

Se debe agregar el siguiente código en pom.xml para usar spring-boot-starter-parent como proyecto principal. 

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.2</version> <!-- spring boot version number -->
    <relativePath/> <!-- lookup parent from repository -->
</parent>

Administrar dependencias

Cualquier iniciador de arranque de primavera se puede incluir en la sección de dependencias . Si omitimos la versión para un iniciador en particular, Maven descargará los archivos jar según el número de versión definido en la sección principal . Por ejemplo, si necesitamos una capa de acceso a datos, debemos agregar el iniciador de dependencia spring-data-jpa en el archivo pom.xml.

<dependencies>
  <dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-jpa</artifactId>
  </dependency>
<dependencies>

Etiqueta de gestión de dependencias

Si necesita una versión diferente de la dependencia provista por spring-boot-starter-parent , podemos agregar una versión particular dentro de la etiqueta <version></version> e incluir la dependencia y su versión dentro de la sección dependencyManagement .

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.4.0</version>
        </dependency>
    </dependencies>
</dependencyManagement>

Propiedades

Sabemos que spring-boot-starter-parent configura la versión del compilador de Java, la versión de complementos de Maven y la versión de Dependencias utilizando las propiedades definidas en su interior. Podemos anular esos valores de propiedad dentro del archivo pom.xml en la sección de propiedades . Supongamos que nuestro proyecto requiere una versión diferente de la biblioteca sl4j y una versión de Java diferente.

<properties>
    <java.version>1.8</java.version>
    <slf4j.version>1.7.30</slf4j.version>
</properties>

Uso de Spring Boot sin un padre inicial

Si queremos heredar del POM principal personalizado o definir todas las configuraciones de Maven manualmente, no heredamos del pom spring-boot-starter-parent . Sin embargo, aún podemos beneficiarnos de la función de administración de dependencias (no la administración de complementos) proporcionada por spring-boot-dependencies , al incluir la dependencia dentro de la sección dependencyMangement como un alcance de importación. 

<dependencyManagement>
    <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.5.2</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Nota: Para anular las propiedades de las dependencias individuales, debemos agregar esas dependencias antes de agregar spring-boot-dependencies .

Publicación traducida automáticamente

Artículo escrito por Ganeshchowdharysadanala y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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