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