world tutorial starter springboot hello create compile java spring maven spring-boot

java - tutorial - ¿Qué son los botes `spring-boot-starter`?



spring boot web (3)

En Spring Boot, hay algunos frascos en el patrón de spring-boot-starter de spring-boot-starter . Todos estos frascos no contienen ningún paquete. ¿Cuál es su uso?

En Maven POMs, se agregan las siguientes dependencias:

  • org.springframework.boot: spring-boot-starter-web
  • org.springframework.boot: spring-boot-starter-actuator
  • org.springframework.boot: spring-boot-starter-security

¿Qué tarros Spring Boot necesito para usar la funcionalidad en estos contenedores? Mi proyecto no tiene ninguna administración de dependencia. Mi proyecto es una aplicación Spring MVC que usa Spring Security.


En pocas palabras, son descripciones de dependencia que enumeran las dependencias transitivas con versiones que se prueban para que funcionen juntas para ahorrarle tiempo al intentar unir bibliotecas que se ocupen de algunas facetas de una aplicación.


Esas dependencias están destinadas a proporcionar una entrada unificada a un proyecto esqueleto ad-hoc con todas las dependencias necesarias .

Por lo general, deben heredarse de su descriptor de proyecto ( pom.xml ) para que pueda obtener todas las dependencias originales con las versiones configuradas. No más carga por hacer en el lado del desarrollador:

Los POM de inicio son un conjunto de descripciones de dependencia convenientes que puede incluir en su aplicación. Obtiene una ventanilla única para toda la tecnología Spring y relacionada que necesita, sin tener que buscar código de muestra y copiar cargas de descriptores de dependencia. Por ejemplo, si desea comenzar a utilizar Spring y JPA para acceder a la base de datos, solo incluya la dependencia spring-boot-starter-data-jpa en su proyecto, y ya está listo para comenzar.

Referencia, arrancador de arranque de arranque POM .

Editar:

Esos POM se pueden usar para sintetizar las dependencias que se pueden usar para un cierto tipo de proyecto, por ejemplo, para un proyecto Spring MVC simple, se deben incluir los siguientes artefactos (Leer desde Spring-boot-starter , spring-boot-starter- web , spring-boot-starter-security, respectivamente):

  • Artefactos de arranque de primavera:
    • org.springframework.boot: spring-boot
    • org.springframework.boot: spring-boot-autoconfigure
    • org.springframework.boot: spring-boot-starter-logging
  • Spring Core, Web, MVC, Artefactos de seguridad:
    • org.springframework: spring-core
    • org.springframework: spring-web
    • org.springframework: spring-webmvc
    • org.springframework: spring-beans
    • org.springframework: spring-context
    • org.springframework: spring-expression
    • org.springframework: spring-aop
    • org.springframework.security:spring-security-config
    • org.springframework.security:spring-security-web
    • org.hibernate: hibernate-validator
    • com.fasterxml.jackson.core: jackson-databind

Los artefactos se pueden encontrar navegando sin inconvenientes por los resultados de búsqueda en el repositorio central de maven .

Tenga en cuenta que esta puede no ser una lista de referencia completa, ya que algunos componentes pueden confundirse, por lo que los artefactos están sujetos a actualización.


También puede hacer que maven informe las dependencias requeridas por los diversos spring-boot-starter- * definidos en el proyecto de arranque de primavera del archivo pom.xml, usando el siguiente comando

mvn dependency:resolve

Por ejemplo, con la primavera 1.5.8.RELEASE, se usan los siguientes frascos (y versiones)

El formato de nota es ID de grupo: Id. De artefacto: Versión: Ámbito de aplicación

The following files have been resolved: com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile org.jboss.logging:jboss-logging:jar:3.3.1.Final:compile aopalliance:aopalliance:jar:1.0:compile org.hamcrest:hamcrest-library:jar:1.3:test org.mockito:mockito-core:jar:1.10.19:test org.assertj:assertj-core:jar:2.6.0:test org.springframework:spring-beans:jar:4.3.12.RELEASE:compile org.springframework.boot:spring-boot-test:jar:1.5.8.RELEASE:test org.springframework.boot:spring-boot-autoconfigure:jar:1.5.8.RELEASE:compile org.springframework.boot:spring-boot-starter-tomcat:jar:1.5.8.RELEASE:compile org.skyscreamer:jsonassert:jar:1.4.0:test org.yaml:snakeyaml:jar:1.17:runtime com.fasterxml:classmate:jar:1.3.4:compile org.slf4j:jcl-over-slf4j:jar:1.7.25:compile org.springframework.boot:spring-boot-starter-test:jar:1.5.8.RELEASE:test org.hamcrest:hamcrest-core:jar:1.3:test com.jayway.jsonpath:json-path:jar:2.2.0:test org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.23:compile org.springframework.boot:spring-boot:jar:1.5.8.RELEASE:compile org.apache.tomcat:tomcat-annotations-api:jar:8.5.23:compile org.springframework:spring-context:jar:4.3.12.RELEASE:compile org.hibernate:hibernate-validator:jar:5.3.5.Final:compile javax.validation:validation-api:jar:1.1.0.Final:compile org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.23:compile org.springframework.boot:spring-boot-starter-logging:jar:1.5.8.RELEASE:compile com.fasterxml.jackson.core:jackson-core:jar:2.8.10:compile org.ow2.asm:asm:jar:5.0.3:test org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.23:compile org.slf4j:log4j-over-slf4j:jar:1.7.25:compile org.springframework:spring-web:jar:4.3.12.RELEASE:compile ch.qos.logback:logback-core:jar:1.1.11:compile org.springframework.security:spring-security-core:jar:4.2.3.RELEASE:compile org.springframework:spring-test:jar:4.3.12.RELEASE:test org.springframework.boot:spring-boot-starter:jar:1.5.8.RELEASE:compile org.springframework.security:spring-security-test:jar:4.2.3.RELEASE:test org.springframework.boot:spring-boot-starter-web:jar:1.5.8.RELEASE:compile org.springframework:spring-core:jar:4.3.12.RELEASE:compile org.springframework.boot:spring-boot-starter-security:jar:1.5.8.RELEASE:compile org.springframework.boot:spring-boot-actuator:jar:1.5.8.RELEASE:compile org.objenesis:objenesis:jar:2.1:test org.springframework:spring-expression:jar:4.3.12.RELEASE:compile org.springframework.boot:spring-boot-starter-actuator:jar:1.5.8.RELEASE:compile org.springframework.security:spring-security-config:jar:4.2.3.RELEASE:compile org.springframework.security:spring-security-web:jar:4.2.3.RELEASE:compile org.springframework:spring-aop:jar:4.3.12.RELEASE:compile junit:junit:jar:4.12:test org.slf4j:slf4j-api:jar:1.7.25:compile net.minidev:json-smart:jar:2.2.1:test org.springframework.boot:spring-boot-test-autoconfigure:jar:1.5.8.RELEASE:test net.minidev:accessors-smart:jar:1.1:test org.springframework:spring-webmvc:jar:4.3.12.RELEASE:compile ch.qos.logback:logback-classic:jar:1.1.11:compile org.slf4j:jul-to-slf4j:jar:1.7.25:compile com.fasterxml.jackson.core:jackson-databind:jar:2.8.10:compile

Simplemente ignore las jarras que tienen un alcance de prueba para la implementación.

Si no tiene a mano el proyecto de arranque de primavera, solo cree uno en Spring Initializr , con los arrancadores de arranque de primavera que necesite. También utiliza el envoltorio Maven , que envuelve el comando maven, ahorrándole tiempo configurando e instalando Maven por separado.

Así que solo descargue el archivo comprimido de Spring Initializr, descomprima y abra un símbolo del sistema en la carpeta descomprimida, y use el siguiente comando

Para Linux / Mac OS

./mvnw dependency:resolve

Para ventanas

./mvnw.cmd dependency:resolve