SlideShare une entreprise Scribd logo
1  sur  7
Framework
(entorno de trabajo)
• Abstracción de un componente de software para resolver un problema en un contexto.
• Estructura conceptual y tecnológica de asistencia definida, normalmente, con
artefactos o módulos concretos de software, que puede servir de base para la
organización y desarrollo de software.
• Aplicación genérica que interactúa con nuestro desarrollo y que a la vez es
configurable.
• Objetivos:
• Acelerar el proceso de desarrollo.
• Reutilizar código ya existente.
• Promover buenas practicas de desarrollo como el uso de patrones.
Maven
• Herramienta de gestión de proyectos.
• Utilizada para:
• Gestión de dependencias.
• Herramienta de compilación.
• Herramienta de documentación.
• Se usa principalmente en proyectos Java (está escrita en este lenguaje).
• Es una herramienta declarativa: todo lo que definamos se almacena en un archivo XML que
funcionar.
• Maven nos permite:
• Gestionar las dependencias del proyecto.
• Compilar el código fuente de la aplicación de manera automática.
• Empaquetar el código en archivos .jar o .zip.
• Instalar los paquetes en un repositorio.
• Generar documentación a partir del código fuente.
• Gestionar las distintas fases del ciclo de vida de las build.
POM (Modelo de
Objetos de
Proyecto)
• Es la unidad básica de trabajo en
Maven.
• Es un archivo XML llamado
pom.xml que se encuentra por
defecto en la raíz del proyecto y
que contiene toda la información
del mismo:
• Configuración.
• Dependencias.
• Etc.
Spring Framework Stereotype
Annotations
• @Component:
• Esta anotación se usa en clases para indicar un componente Spring.
• Marca la clase Java como un bean o componente para que el mecanismo de exploración de componentes de Spring pueda agregarla al contexto
de la aplicación.
• @Controller:
• Se usa para indicar que la clase es un controlador Spring.
• Esta anotación se puede utilizar para identificar controladores para Spring MVC o Spring WebFlux.
• @Service
• Marca una clase Java que realiza algún servicio, como ejecutar lógica de negocios, realizar cálculos y llamar a API externas.
• Esta anotación es una forma especializada de la anotación @Component destinada a ser utilizada en la capa de servicio.
• @Repository
• Esta anotación se utiliza en clases Java que acceden directamente a la base de datos.
• Funciona como un marcador para cualquier clase que cumpla la función de repositorio u Objeto de acceso a datos.
• Esta anotación tiene una función de traducción automática. Por ejemplo, cuando ocurre una excepción, hay un controlador para esa excepción y no
es necesario agregar un bloque try-catch.
• @SpringBootApplication
• Esta anotación se utiliza en la clase de aplicación al configurar un proyecto Spring Boot.
• La clase anotada con esta anotación debe mantenerse en el paquete base.
• Lo único que hace esta anotación es un escaneo de componentes, pero escaneará solo sus subpaquetes. Como ejemplo, si coloca la clase en el
ejemplo com, entonces @SpringBootApplication escaneará todos sus subpaquetes.
• @RestController
• Esta anotación se usa a nivel de clase.
• Marca la clase como un controlador donde cada método devuelve un objeto de dominio en lugar de una vista.
• Al anotar una clase con esta anotación, ya no necesita agregar @ResponseBody a todos los métodos RequestMapping. Significa que ya no usa
resuelve vistas ni envía HTML en respuesta. Simplemente envía el objeto de dominio como una respuesta HTTP en el formato que entienden los
consumidores, como JSON.
Anotaciones dentro
de un @Controller
• @RequestMapping:
• Esta anotación se usa tanto a nivel de
clase como de método.
• Se utiliza para asignar solicitudes web
a clases de manejador y métodos de
manejador específicos.
• Cuando se usa en el nivel de clase,
crea un URI base para el que se usará
el controlador.
• Cuando se utiliza en los métodos, le
dará el URI en el que se ejecutarán los
métodos del controlador. A partir de
esto, puede inferir que la asignación de
solicitud a nivel de clase seguirá
siendo la misma, mientras que cada
método de controlador tendrá su propia
asignación de solicitud.
@RequestMapping (Variantes)
• @GetMapping:
• Esta anotación se utiliza para asignar solicitudes HTTP GET a métodos de controlador específicos.
• Es una anotación compuesta que actúa como un acceso directo para @RequestMapping (method =
RequestMethod.GET).
• @ PostMapping:
• Esta anotación se utiliza para asignar solicitudes HTTP POST a métodos de controlador específicos.
• Es una anotación compuesta que actúa como un acceso directo para @RequestMapping (method =
RequestMethod.POST).
• @ PutMapping :
• Esta anotación se utiliza para mapear solicitudes HTTP PUT en métodos de manejador específicos.
• Es una anotación compuesta que actúa como un acceso directo para @RequestMapping (method =
RequestMethod.PUT).
• @ DeleteMapping :
• Esta anotación se usa para asignar solicitudes HTTP DELETE a métodos de controlador específicos.
• Es una anotación compuesta que actúa como un acceso directo para @RequestMapping (method =
RequestMethod.DELETE).
• @ PathVariable:
• Esta anotación se utiliza para anotar argumentos del método del
controlador de solicitudes.
• La anotación @RequestMapping se puede usar para manejar
cambios dinámicos en el URI donde un cierto valor de URI actúa como
parámetro. Puede especificar este parámetro usando una expresión
regular. La anotación @PathVariable se puede usar para declarar este
parámetro.
• @RequestBody:
• Esta anotación se utiliza para anotar argumentos del método del
controlador de solicitudes.
• Indica que un parámetro de método debe estar vinculado al valor del
cuerpo de la solicitud HTTP. El HttpMessageConveter es responsable
de convertir del mensaje de solicitud HTTP a objeto.

Contenu connexe

Similaire à Maven Framework POM

Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño IIkaolong
 
La Arquitectura De Netbeans V2
La Arquitectura De Netbeans V2La Arquitectura De Netbeans V2
La Arquitectura De Netbeans V2ralphkui
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptxSibilinoAndante
 
SpringFramework Overview
SpringFramework OverviewSpringFramework Overview
SpringFramework Overviewzerovirus23
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsFreelancer
 
Java struts2 - 03 componentes de la aplicacion
Java   struts2 - 03 componentes de la aplicacionJava   struts2 - 03 componentes de la aplicacion
Java struts2 - 03 componentes de la aplicacionJechu2013
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corporacion de Industrias Tecnologicas S.A.
 
Framework kahana
Framework kahanaFramework kahana
Framework kahanaH31D1
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosGeorge Navarro Gomez
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosGeorge Navarro Gomez
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014Carlos Camacho
 
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2Laura Noussan Lettry
 

Similaire à Maven Framework POM (20)

Jdbc
JdbcJdbc
Jdbc
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño II
 
La Arquitectura De Netbeans V2
La Arquitectura De Netbeans V2La Arquitectura De Netbeans V2
La Arquitectura De Netbeans V2
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
Semana 2 Configuración entorno de desarrollo
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrollo
 
Manualcake
ManualcakeManualcake
Manualcake
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
SpringFramework Overview
SpringFramework OverviewSpringFramework Overview
SpringFramework Overview
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
Java struts2 - 03 componentes de la aplicacion
Java   struts2 - 03 componentes de la aplicacionJava   struts2 - 03 componentes de la aplicacion
Java struts2 - 03 componentes de la aplicacion
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
 
Maven Overview
Maven OverviewMaven Overview
Maven Overview
 
Strust
StrustStrust
Strust
 
Framework kahana
Framework kahanaFramework kahana
Framework kahana
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
Web framework ligeros y micros en java barcamp 2014
Web framework ligeros y micros en java   barcamp 2014Web framework ligeros y micros en java   barcamp 2014
Web framework ligeros y micros en java barcamp 2014
 
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
 

Dernier

Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCarlos Delgado
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdfRicardoRomeroUrbano
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadANDECE
 
Biología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxBiología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxluisvalero46
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...humberto espejo
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRyanimarca23
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosfranchescamassielmor
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptxNayeliZarzosa1
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana5extraviado
 
Clase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxClase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxPaolaVillalba13
 

Dernier (20)

Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric Project
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf3.3 Tipos de conexiones en los transformadores trifasicos.pdf
3.3 Tipos de conexiones en los transformadores trifasicos.pdf
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidad
 
Biología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptxBiología molecular ADN recombinante.pptx
Biología molecular ADN recombinante.pptx
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBRQUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
QUIMICA ORGANICA I ENOLES Y ENAMINAS LIBR
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negocios
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana
 
Clase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptxClase 1 Análisis Estructura. Para Arquitectura pptx
Clase 1 Análisis Estructura. Para Arquitectura pptx
 

Maven Framework POM

  • 1. Framework (entorno de trabajo) • Abstracción de un componente de software para resolver un problema en un contexto. • Estructura conceptual y tecnológica de asistencia definida, normalmente, con artefactos o módulos concretos de software, que puede servir de base para la organización y desarrollo de software. • Aplicación genérica que interactúa con nuestro desarrollo y que a la vez es configurable. • Objetivos: • Acelerar el proceso de desarrollo. • Reutilizar código ya existente. • Promover buenas practicas de desarrollo como el uso de patrones.
  • 2. Maven • Herramienta de gestión de proyectos. • Utilizada para: • Gestión de dependencias. • Herramienta de compilación. • Herramienta de documentación. • Se usa principalmente en proyectos Java (está escrita en este lenguaje). • Es una herramienta declarativa: todo lo que definamos se almacena en un archivo XML que funcionar. • Maven nos permite: • Gestionar las dependencias del proyecto. • Compilar el código fuente de la aplicación de manera automática. • Empaquetar el código en archivos .jar o .zip. • Instalar los paquetes en un repositorio. • Generar documentación a partir del código fuente. • Gestionar las distintas fases del ciclo de vida de las build.
  • 3. POM (Modelo de Objetos de Proyecto) • Es la unidad básica de trabajo en Maven. • Es un archivo XML llamado pom.xml que se encuentra por defecto en la raíz del proyecto y que contiene toda la información del mismo: • Configuración. • Dependencias. • Etc.
  • 4. Spring Framework Stereotype Annotations • @Component: • Esta anotación se usa en clases para indicar un componente Spring. • Marca la clase Java como un bean o componente para que el mecanismo de exploración de componentes de Spring pueda agregarla al contexto de la aplicación. • @Controller: • Se usa para indicar que la clase es un controlador Spring. • Esta anotación se puede utilizar para identificar controladores para Spring MVC o Spring WebFlux. • @Service • Marca una clase Java que realiza algún servicio, como ejecutar lógica de negocios, realizar cálculos y llamar a API externas. • Esta anotación es una forma especializada de la anotación @Component destinada a ser utilizada en la capa de servicio. • @Repository • Esta anotación se utiliza en clases Java que acceden directamente a la base de datos. • Funciona como un marcador para cualquier clase que cumpla la función de repositorio u Objeto de acceso a datos. • Esta anotación tiene una función de traducción automática. Por ejemplo, cuando ocurre una excepción, hay un controlador para esa excepción y no es necesario agregar un bloque try-catch. • @SpringBootApplication • Esta anotación se utiliza en la clase de aplicación al configurar un proyecto Spring Boot. • La clase anotada con esta anotación debe mantenerse en el paquete base. • Lo único que hace esta anotación es un escaneo de componentes, pero escaneará solo sus subpaquetes. Como ejemplo, si coloca la clase en el ejemplo com, entonces @SpringBootApplication escaneará todos sus subpaquetes. • @RestController • Esta anotación se usa a nivel de clase. • Marca la clase como un controlador donde cada método devuelve un objeto de dominio en lugar de una vista. • Al anotar una clase con esta anotación, ya no necesita agregar @ResponseBody a todos los métodos RequestMapping. Significa que ya no usa resuelve vistas ni envía HTML en respuesta. Simplemente envía el objeto de dominio como una respuesta HTTP en el formato que entienden los consumidores, como JSON.
  • 5. Anotaciones dentro de un @Controller • @RequestMapping: • Esta anotación se usa tanto a nivel de clase como de método. • Se utiliza para asignar solicitudes web a clases de manejador y métodos de manejador específicos. • Cuando se usa en el nivel de clase, crea un URI base para el que se usará el controlador. • Cuando se utiliza en los métodos, le dará el URI en el que se ejecutarán los métodos del controlador. A partir de esto, puede inferir que la asignación de solicitud a nivel de clase seguirá siendo la misma, mientras que cada método de controlador tendrá su propia asignación de solicitud.
  • 6. @RequestMapping (Variantes) • @GetMapping: • Esta anotación se utiliza para asignar solicitudes HTTP GET a métodos de controlador específicos. • Es una anotación compuesta que actúa como un acceso directo para @RequestMapping (method = RequestMethod.GET). • @ PostMapping: • Esta anotación se utiliza para asignar solicitudes HTTP POST a métodos de controlador específicos. • Es una anotación compuesta que actúa como un acceso directo para @RequestMapping (method = RequestMethod.POST). • @ PutMapping : • Esta anotación se utiliza para mapear solicitudes HTTP PUT en métodos de manejador específicos. • Es una anotación compuesta que actúa como un acceso directo para @RequestMapping (method = RequestMethod.PUT). • @ DeleteMapping : • Esta anotación se usa para asignar solicitudes HTTP DELETE a métodos de controlador específicos. • Es una anotación compuesta que actúa como un acceso directo para @RequestMapping (method = RequestMethod.DELETE).
  • 7. • @ PathVariable: • Esta anotación se utiliza para anotar argumentos del método del controlador de solicitudes. • La anotación @RequestMapping se puede usar para manejar cambios dinámicos en el URI donde un cierto valor de URI actúa como parámetro. Puede especificar este parámetro usando una expresión regular. La anotación @PathVariable se puede usar para declarar este parámetro. • @RequestBody: • Esta anotación se utiliza para anotar argumentos del método del controlador de solicitudes. • Indica que un parámetro de método debe estar vinculado al valor del cuerpo de la solicitud HTTP. El HttpMessageConveter es responsable de convertir del mensaje de solicitud HTTP a objeto.