Saltar al contenido principal
Página

Tema 4.2 - Conceptos de SpringBoot

¿Qué es un starter en SpringBoot?

Spring boot proporciona una serie de iniciadores o starters que nos permiten añadir jar en la ruta de clases. Los starters incorporados en SpringBoot hacen que el desarrollo sea más fácil y rápido, todos los starters contienen una nomenclatura similar, spring-boot-starter- *, donde * denota un tipo particular de aplicación. Por ejemplo, si queremos usar Spring y JPA para el acceso a la base de datos, necesitamos incluir la dependencia spring-boot-starter-data-jpa en nuestro archivo pom.xml del proyecto.

En la tabla que se presenta a continuación, se hace relación de algunos starters con su descripción.


Nombre

Descripción

spring-boot-starter-web

Utilizado para crear aplicaciones web, incluidas las aplicaciones RESTful que utilizan Spring MVC. Utiliza Tomcat como contenedor integrado predeterminado.

spring-boot-starter-test

Es usado para probar aplicaciones SpringBoot con bibliotecas, incluidas JUnit, Hamcrest y Mockito

spring-boot-starter-jdbc

Se utiliza para JDBC con el grupo de conexiones Tomcat JDBC

spring-boot-starter

Para soporte de configuración automática, el registro y YAML

spring-boot-starter-data-mongodb

Se usa para la base de datos orientada a documentos MongoDB y Spring Data MongoDB

spring-boot-starter-cloud-connectors

Se usa para Spring cloud connectors, simplifica la conexión a servicios en plataformas en la nube como Cloud Foundry y Heroku

spring-boot-starter-actuator

Se utiliza para el actuador de Spring boot que proporciona funciones listas para producción y así ayudar a monitorear y administrar la aplicación

spring-boot-starter-tomcat

Se utiliza para Tomcat como contenedor de servlets integrado


Como los anteriores, existen otra gran cantidad de starters que nos ayudan a agilizar los desarrollos que llevemos a cabo, para conocerlos podemos ir a la documentación oficial de SpringBoot a través del link https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot


¿Qué es Spring Initializr?

Para la creación de un proyecto de Spring Boot, existen dos caminos, la primera es instalando y utilizando Maven o Gradle para crear manualmente todo el marco del proyecto, incluidas las dependencias; o la segunda, utilizando el servicio web Spring initializr, el cual es un servicio que nos ayuda a establecer la configuración básica de spring boot y nos permite descargar la plantilla como proyecto final.


Ejemplo usando Spring Initializr

Para el ejercicio utilizaremos el servicio web Spring initializr, en el cual solo tendremos que establecer los parámetros que nos piden ingresando a la URL https://start.spring.io/ . Los parámetros exigidos por la página son:

Sistema de compilación (Maven), el lenguaje en el que se trabajará (Java), versión de Spring Boot, los metadatos del proyecto, el formato de archivo en que se descargará y la versión de Java, finalmente, en caso de requerir añadir dependencias, este servicio nos ofrece la posibilidad de añadirlos, por ahora solo se añadirá la dependencia Spring web.

Cuando se haya establecido los parámetros de la configuración, tendremos tres opciones: Generate (Descargar nuestro proyecto), Explore (Visualizar lo que hasta el momento llevamos) y Share (que generará una URL para compartirlo con alguien). Seleccionaremos Generate, para descargarlo y abrirlo desde Eclipse.


Uso del servicio web start Spring


Una vez descargada e incluida en nuestro Entorno de desarrollo (Eclipse), tendremos lo siguiente en el archivo pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.3.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.springboot</groupId>
	<artifactId>spring</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>spring</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>11</java.version>
	</properties>

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

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

En nuestro src/main/java tendremos el paquete com.springboot.spring que incluye la clase Application que contiene lo siguiente.

package com.springboot.spring;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}

}

Si corremos nuestra aplicación web, como esta, pues no pasará mucho, por lo que si deseamos ver algo concreto, debemos crear una clase, que para el ejemplo se llamara HelloRest y adicionamos el siguiente código.


package com.springboot.spring;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloRest {
	@RequestMapping("/hello")
	public String helloWorld() {
		return "Hello everyone";
	}
}

Lo anterior indica que HelloRest será un controlador Rest y como saben @RequestMapping nos dará la ruta al momento de ingresar la URL, ahora solo tendremos que ejecutar el proyecto con JavaApplication y se nos abrirá la consola de spring que hace el despliegue de la aplicación sobre el Tomcat embebido.


Ejecutando SpringBoot

Si ingresamos al navegador y entramos a la URL http://localhost:8080/hello, veremos algo como lo siguiente

resultados pagina


Como pueden notar, usar Spring Boot aparte de sencillo es fácil y rápido para realizar la configuración respecto a Spring Core, lo que permite ahorrar tiempo en el desarrollo de las aplicaciones en el próximo apartado, veremos algunos ejemplos desde una perspectiva general, como implementar pruebas unitarias en proyectos con Spring Boot.


<
Última modificación: miércoles, 16 de marzo de 2022, 16:18