Mostrando las entradas con la etiqueta spring. Mostrar todas las entradas
Mostrando las entradas con la etiqueta spring. Mostrar todas las entradas

lunes, 9 de diciembre de 2019

How to create a project using Spring Boot?


As mentioned in previous posts, Spring Boot is a Framework that allows as to accelerate our development, helping us with some configurations, in this post we will see how we can take advantage of these automatic configurations creating a simple application using Spring Initializr





















If you don't not what Spring Boot is, I recommend you to go to (What is Spring Boot?) and read a brief introduction about Spring Boot.


We have multiples opciones to create a project using Spring Boot: the fisrts one is using the web version of Spring Intializr, the second one through an IDE like Spring Tool Suite (STS) or Intelij and the third using the CLI or command line interface, we are gooign to learn how to create a project using de web version of Spring Initializr and using de STS IDE

In order to maintain this posts as simple as posible we are goin to create a simple project that stores product information in a Mysql data base

Let's start by creating project using Spring Initializar:


  1. First we need to access to the web version of Spring Initialize through this link (Spring initializr,) o searching Spring initializr in Goole, you will see a page like the one shown in the following image:




















One you are in the Spirng Intiliazr page, you have to fill some fileds request by the tool:
  • Choose Maven Project as dependency manager
  • Choose the latest stable version of Spring Boot, in this case V 2.2.2
  • In the project metadata option fill the fill the following fields:
    • Group Idco.com.bateacode.products
    • Artifac Id (nombre de nuestra aplicación) ingresamos: approducts
  • Finally choose the dependencies: Spring webThymeleaf y Spring Data JPA,
as shown in the following image:


One you have completed the by the Spring Innitializr tool, you have to clic on Generate Button to generar the project:
This tool will generate a Zip file, unzip the file in the STS workspace 
To import the project in Spring STS you have to follow the next steps:

Open Spring STS, Click in File, the click in Import, choose the option Existing Maven Prorject and Finally clic in the Next button:




Choose the path of the project you have downloaded from Spring web Intializr, clicking in the Brose button:



Finally clic in the Finish button to import the maven project:

this image show the structure of our project:

2. The second option to create a project using Spring Boot is through some IDE, we are goin tho show how to perform this task using Spirng STS IDE:

Open STS, choose File, click in New, then clic in Spring Starter Project:
you will see a windows where you can fill the fields to create the project, if you notice this fields are almost the same that we filled in the web version of Spring Initializr:


The next step is to choose the dependency, you can search those dependencies in the search field and then add it to the project:

Finally click in the Finish button, and then you can see the project structure:

As you can see, creating a project using Spring Intializr is simple and straightforward, Spring Boot manage some dependencies  for us and automate some task that we will explain in future posts, additionally we are goin to  incremental develop our simple products app, so stay tuned for future posts.









domingo, 8 de diciembre de 2019

¿Cómo crear un proyecto usando Spring Boot?


Como se explicó en posts anteriores, Spring Boot es un framework que nos permite acelerar nuestro desarrollo de aplicaciones Java, ayudándonos con ciertas configuraciones, en esta entrada vamos a ver como podemos tomar ventajas de estas configuraciones automáticas y crear un proyecto haciendo uso de Spring Initializr




















Si no sabes que es Spring Boot te recomiendo que vayas a este enlace (¿Que es Spring boot?)  y leas una breve introducción acerca de Spring Boot.

Para crear una aplicación con Spring boot tenemos múltiples opciones:

  • la primera option es usar la versión web de Spring Initializr.
  • la segunda utilizando algún IDE como Spring Tool Suite (STS) o Intellij, y finalmente  
  • con la herramienta de linea de comando de Spring Boot (CLI). 
En esta entrega vamos a aprender a crear nuestro proyecto usando la versión web de Spring initializr y usando el IDE STS.

En aras de mantener simple esta entrega vamos a crear una aplicación sencilla que almacena productos en una base de datos Mysql.

Comencemos entonces creando nuestra aplicación usando Spring initializr:

  1. Accedemos al siguiente enlace de Spring initializr, o podemos escribir en Google Spring Initializr y elegir la primera opción que nos recomienda Google, esto nos llevara a la pagina https://start.spring.io/ como se muestra en la siguiente imagen:

Una vez allí procedemos a completar los campos que la herramienta nos solicita:
  • Elegimos Maven Project como gestionador de dependencias
  • En la opción Laguange elegimos Java
  • En la opción Spring Boot, elegimos la ultima versión estable para esta caso la versión 2.2.2
  • En la opción project metadata procedemos a completar los  siguientes campos:
    • Group Id (nombre de nuestros paquetes), para este caso ingresamos: co.com.bateacode.products
    • Artifac Id (nombre de nuestra aplicación) ingresamos: approducts
  • Por ultimo procedemos a agregar las diferentes dependencias que nuestra aplicación va a utilizar: Spring web, Thymeleaf y Spring Data JPA, como se muestra en la siguiente imagen:


Una vez completada la información requerida, procedemos a hacer clic en el botón Generar:
Spring Initializr generará un archivo comprimido que procedemos a descomprimir en nuestro workspace:
Luego de haber descomprimido nuestro archivo procedemos a importarlo en nuestro IDE de la siguiente manera: 
Abrimos Spring STS, hacemos clic de File, luego en Import y elegimos la opción Existing Maven Projects y hacemos clic en el boton Next:





Elegimos la ubicación de nuestro proyecto en el explorador de archivos haciendo clic en el boton Browse:


Elegimos nuestro proyecto y hacemos clic en el boton Open:
Finalmente importamos nuestro proyecto haciendo clic en boton Finish:

La siguiente imagen muestra la estructura de nuestro:

2. A continuación muestro los pasos para crear nuestro proyecto usando el IDE STS

En STS vamos a la opción File, luego hacemos clic en la opción New y elegimos Spring Starter Project:
Esto nos lleva a la siguiente ventana, donde podemos llenar la información de nuestro proyecto, como pueden observar es la mismo información que llenamos en la opción web de Spring Initializr:


Una vez completa esta información hacemos clic en el boton Next, donde podemos elegir las dependencias de nuestro proyecto, en el buscador podemos escribir el nombre de la dependencia y elegir la dependencia que vamos a agregar, como se muestra en la siguiente imagen:

Finalmente hacemos clic en Finish y tenemos la estructura de nuestro proyecto creado:



Como pueden ver, crear un proyecto usando Spring Intializr es muy simple, Spring Boot gestiona algunas dependencias por nosotros y automatiza algunas tareas que explicaremos en publicaciones futuras, además vamos a desarrollar gradualmente nuestra aplicación de productos, así que esté atento para futuras publicaciones.








viernes, 6 de diciembre de 2019

¿Que es Spring Boot?


Spring Boot no es mas que un framework para desarrollar aplicaciones Java de manera rápida

















Cuando desarrollamos aplicaciones Java usando Spring Framework, usualmente debemos realizar ciertas configuraciones previas en  nuestro proyecto para poder comenzar a desarrollar nuestra idea de negocio o programar el problema que intentamos resolver,  algunas de estas configuraciones pueden ser las siguientes:
  1. Crear la estructura de nuestro proyecto, (usualmente realizamos esta tarea usando Maven, Gradle o incluso manualmente), la estructura de nuestro proyecto es muy importante ya que nos define cosas tales como: estructura de carpetas y archivos, archivos de configuraciones, etc.
  2. Configuración de dependencias (jars o librerias externas que usa nuestro proyecto), 
  3. Si tu aplicación es una aplicación web, debes habilitar Spring MVC y Servlet API, por lo tanto, es necesario incluir las dependencias, adicionalmente debes configurar el archivo web.xml y agregar algún servidor de aplicaciones (Tomcat, Jetty, Undertow) entre otras configuraciones necesarias.
  4. Finalmente configurar y desarrollar algunos controladores (Controllers) en tu aplicación los cuales son los encargados de manejar todas las peticiones HTTP, este tipo de configuraciones puede variar  dependiendo de la complejidad de tu aplicación.
Si te detienes a pensar por un momento, este tipo de configuraciones son muy comunes para la mayoría de aplicaciones Java, por lo que nos preguntamos: ¿por qué no proveerlas por defecto en una herramienta?. Adicionalmente para nadie es un secreto que este tipo de configuraciones pueden llegar a ser demasiado tediosas, obligándote a gastar tiempo realizando estas configuraciones una y otra vez, cada que necesites comenzar un proyecto nuevo, tiempo que puedes invertir desarrollando la idea de negocio propia de tu aplicación.

Es en este punto donde Spring boot es de gran ayuda realizando todas esas configuraciones que son comunes para la mayoría de aplicaciones java, Spring boot ofrece muchas otras funcionalidades para acelerar nuestro desarrollo, tales como: servidor de aplicaciones embebido, ejecución standalone, selección de las dependencias correctas una vez decidimos que módulos vamos a agregar en nuestro proyecto, una CLI o interfaz de línea de comandos entre otras.

Así, La magia de Spring boot se base en 4 pilares fundamentales lo cuales podemos utilizar en nuestro día a día como desarrolladores:

1. Configuración automática:
Spring boot puede proveernos configuraciones automáticas las cuales son comunes para la mayoría de aplicaciones que usan Spring Framework
2.    Inicializador de dependencias
Spring boot se encarga de elegir las dependencias correctas con base en las funcionalidades que desees utilizar en tu proyecto
3.    CLI o Interfaz de línea de comandos
Aunque esta es una funcionalidad opcional, Spring boot ofrece una interfaz de línea de comandos para ejecutar código o realizar configuraciones de manera rápida
4.    Actuator
Con esta herramienta podemos dar una mirada al interior de nuestra aplicación y saber que esta pasando dentro de nuestra aplicación (Profiler).

En conclusión, Spring boot nos facilita la vida al proveernos ciertas configuraciones de manera automática, es una herramienta que debemos de tener en cuenta a la hora de crear nuestros proyectos, Spring boot no resuelve todo, todavía hay muchas cosas que debemos hacer de manera manual dependiendo de la complejidad de nuestro proyecto pero creo que es una herramienta imprescindible en el mundo del desarrollo de Spring Framework.

Referencias:
·      Spring boot in Action (https://www.manning.com/books/spring-boot-in-action)