Demo Github
En la Parte 1 de este tutorial Como Crear Nuestra Primera Aplicación Básica con Spring Framework – Parte 1 descargamos los archivos binarios de Open JDK, los extrajimos en un directorio y configuramos la variable JAVA_HOME para poder usar Open JDK desde cualquier parte del computador y dejamos listo todo para comenzar a trabajar con Spring Framework, en esta parte 2 y última crearemos nuestro proyecto básico, vamos con ello.
Partes
- Parte 1
- Parte 2 (Final – Código Fuente GitHub)
Antes de continuar con este Post, te invito a leer los siguientes artículos:
- Que es Spring Framework y Otros Detalles
- 5 Consejos para escribir Controladores Spring MVC
- Como funciona la anotación @Value en Spring
- Cual es la diferencia entre Spring (Framework) y Spring Boot
- Puedes leer más en la categoría Spring
Asimismo te invito a escuchar el Podcast: “Como Hacer De La Programación Un Estilo De Vida”:
Spotify: | Sound Cloud: |
Bien ahora continuemos con el Post: Como Crear Nuestra Primera Aplicación Básica con Spring Framework – Parte 2 (Final).
Creación de Nuevo Proyecto en Spring Framework
Voy a usar Spring Boot, que es una herramienta online que al menos hasta la fecha de este Post existe y nos permite generar una aplicación básica en Spring Framework, vamos a este enlace oficial de Spring Framework.
Me aparece un conjunto de opciones para generar rápidamente un proyecto con Spring Framework, selecciono Maven Project, en Lenguaje selecciono Java, en Spring Boot selecciono la versión 2.3.4, que es la última versión estable de Spring Boot.
Al lado derecho en Dependencias hago clic en el botón ADD DEPENDENCIES… y me aparecerá un buscador de dependencias, como yo voy a crear un proyecto web con Spring Framework, en la caja de búsqueda escribo spring web y selecciono la dependencia Spring Web.
Debajo le colocaré el nombre a mi proyecto aplicacionbasica, tu le puedes poner el nombre que desees, en Packaging selecciono Jar y en la versión de Java elegiré la 15 que hasta la fecha de este Post es la última versión de Java.
Para crear el proyecto presiono el botón que dice GENERATE que se encuentra en la parte inferior.
Spring Boot me descargará un archivo llamado aplicacionbasica en formato RAR comprimido, este archivo lo debo extraer en un lugar en donde yo desee, cuando lo extraigo me carga un conjunto de directorios y archivos indispensables para que mi proyecto funcione correctamente.
1 2 3 4 5 6 7 8 9 10 11 |
/aplicacionbasica ├── /.mvn ├── /src ├── /target ├── .gitignore ├── HELP.md ├── mvnw ├── mvnw.cmd ├── porn.xml |
Paso seguido abro el archivo llamado AplicacionbasicaApplication.java que se encuentra en src > main > java > com > aplicacionbasica > aplicacionbasica > AplicacionbasicaApplication.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
/aplicacionbasica ├── /.mvn ├── /src ├── /main ├── /java ├── /com ├── /aplicacionbasica ├── /aplicacionbasica ├── AplicacionbasicaApplication.java // Abro este Archivo ├── /target ├── .gitignore ├── HELP.md ├── mvnw ├── mvnw.cmd ├── porn.xml |
Dentro del archivo AplicacionbasicaApplication.java comienzo importando las siguientes dependencias y anotaciones.
1 2 3 4 5 6 7 8 9 10 11 12 |
package com.aplicacionbasica.aplicacionbasica; // Dependencias import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; // Anotaciones import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; |
Luego dentro de mi clase principal llamada AplicacionbasicaApplication voy a mostrar un mensaje que diga Hola Nube Colectiva ! en un encabezado <h1>.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
@SpringBootApplication @RestController public class AplicacionbasicaApplication { public static void main(String[] args) { SpringApplication.run(AplicacionbasicaApplication.class, args); } @GetMapping("/mensaje") public String mensaje(@RequestParam(value = "comunidad", defaultValue = "Nube Colectiva") String comunidad) { return String.format("<h1>Hola %s ! </h1>", comunidad); } } |
A continuación el código completo del archivo AplicacionbasicaApplication.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
package com.aplicacionbasica.aplicacionbasica; // Dependencias import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; // Anotaciones import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @SpringBootApplication @RestController public class AplicacionbasicaApplication { public static void main(String[] args) { SpringApplication.run(AplicacionbasicaApplication.class, args); } @GetMapping("/mensaje") public String mensaje(@RequestParam(value = "comunidad", defaultValue = "Nube Colectiva") String comunidad) { return String.format("<h1>Hola %s ! </h1>", comunidad); } } |
Paso seguido ejecutare el siguiente comando para correr el servidor de Spring Framework.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
./mvnw spring-boot:run ... ... ... (Continua la Carga del Servidor) ... ... . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.4.1) 2020-10-18 01:07:12.268 INFO 9964 --- [ main] c.s.scriptshub.AplicacionbasicaApplication : Starting AplicacionbasicaApplication using Java 11.0.9.1 on Juan with PID 9964 (G:\xampp\htdocs\xampp\nc\tutoriales\aplicacionbasica\target\classes started by juan-pc in G:\xampp\htdocs\xampp\nc\tutoriales\aplicacionbasica) 2020-10-18 01:07:12.271 INFO 9964 --- [ main] c.s.scriptshub.AplicacionbasicaApplication : No active profile set, falling back to default profiles: default 2020-10-18 01:07:12.971 INFO 9964 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2020-10-18 01:07:12.980 INFO 9964 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2020-10-18 01:07:12.980 INFO 9964 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.41] 2020-10-18 01:07:13.041 INFO 9964 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2020-10-18 01:07:13.041 INFO 9964 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 729 ms 2020-10-18 01:07:13.177 INFO 9964 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2020-10-18 01:07:13.299 INFO 9964 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2020-10-18 01:07:13.307 INFO 9964 --- [ main] c.s.scriptshub.AplicacionbasicaApplication : Started AplicacionbasicaApplication in 1.38 seconds (JVM running for 1.722) |
A mi me salto la ventana de Firewall de Windows para permitir el acceso de OpenJDK a mi Red local, le hice clic en Permitir acceso.
Si voy a la dirección local http://localhost:8080/mensaje puedo ver el mensaje en mi navegador sin problemas.
Y bueno esto es todo, he colocado una Demo en ambas partes del tutorial y en esta última parte he colocado un enlace al código fuente alojado en GitHub.
Nota (s)
- Los pasos y el código expuesto en este tutorial pueden cambiar, quedar obsoleto o continuar, esto no dependen de mi, si no de los Desarrolladores que dan soporte a Spring Boot, Java y Spring Framework,
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.