#API REST SPRING BOOT DESDE CERO – ESTRUCTURA DEL PROYECTO
Ahora empezaremos a trabajar en
nuestro proyecto, primero analizaremos la estructura.
Como podemos observar tenemos una estructura de carpetas que
entre las cuales encontramos las siguientes:
1. Source Packages: Es donde tendremos todos
los paquetes que contendrán el código fuente de nuestro proyecto.
2. Test Packages: Es donde tendremos todos los paquetes que contendrán el código necesario
para realizar pruebas unitarias en nuestro proyecto.
3. Other Sources: Aquí encontraremos otros
archivos necesarios para nuestro proyecto como archivos estáticos, plantillas,
archivos de propiedades, archivos de texto, etc.
4. Dependencies: Aquí están las dependencias
que necesita nuestro proyecto en tiempo de compilación.
5. Runtime Dependencies: Aquí están las
dependencias que se utilizaran en tiempo de ejecución.
6. Test Dependencies: Aquí encontraremos las
dependencias que necesitamos para realizar pruebas unitarias en nuestro
proyecto.
7. Project Files: Aquí encontraremos los
archivos que permitirán gestionar la configuración y la forma en como se
construye nuestro proyecto como POM.xml.
La clase principal: ApirestApplication
La clase principal de nuestro proyecto Spring Boot es el
punto de entrada a nuestra aplicación, que contiene el método estático main que
inicia el ApplicationContext de Spring (que es el contenedor de todos los componentes
de Spring) a través de la ejecución de SpringApplication.run(ApirestApplication.class,
args).
Al usar la anotación @SpringBootApplication estamos en
realidad englobando 3 anotaciones que funcionan de la siguiente manera:
@Configuration: Esta anotación categorizara a la clase que
esta anotada como una clase de configuración. Por lo cual Spring entenderá que
esta clase es una clase de configuración.
@EnableAutoConfiguration: La configuración automática de
Spring Boot realiza las configuraciones por defecto de las dependencias de
nuestro proyecto por ejemplo como estamos usando Spring Web automáticamente define
el DispatcherServlet y le da la configuración predeterminada mínima para que
nuestro proyecto funcione.
@ComponentScan: Esta anotación se utiliza con @Configuration
para indicar a Spring de que paquetes debe cargar los componentes (beans, servicios,
repositorios, etc).
Nota: Las anotaciones es una forma de añadir metadatos a los
componentes del programa como clases, métodos, etc. que proporcionan información
que se puede utilizar de la siguiente forma:
- Información para el compilador: El compilador puede utilizar las anotaciones para detectar errores o suprimir las advertencias.
- Procesamiento en tiempo de compilación y tiempo de implementación: Las herramientas de software pueden procesar información de anotaciones para generar código, archivos XML, etc.
- Procesamiento de tiempo de ejecución: Algunas anotaciones están disponibles para ser examinadas en tiempo de ejecución.
application.properties
Es un archivo que contiene el formato key=value que permite especificar
muchas de las propiedades de los módulos de Spring como el contexto de nuestra
aplicación el puerto por el cual escuchara nuestro servidor embebido, etc.
Por ejemplo utilizando server.port=8080 le estamos diciendo
a Spring Boot que nuestro servidor embebido escuchara las peticiones en el
puerto 8080.
Nota: En el siguiente
enlace puedes encontrar todas las propiedades que puedes cambiar en el
application.properties, su valor por defecto y su respectiva descripción.
pom.xml
POM (Project Object
Model) es el archivo principal que usa Maven para realizar su trabajo. Es un archivo XML que contiene información
sobre el proyecto y los detalles de configuración utilizados por Maven para
construir el proyecto. Al ejecutar una tarea u objetivo, Maven busca el POM en
el directorio actual. Lee el POM, obtiene la información de configuración
necesaria y luego ejecuta el objetivo.
Algunas de las
configuraciones que se pueden especificar en el POM son las dependencias del
proyecto, los complementos u objetivos que se pueden ejecutar, los perfiles de
compilación, etc. También se puede especificar otra información, como la
versión del proyecto, la descripción, los desarrolladores, las listas de correo
y demás.
En el siguiente post
explicaremos como crear nuestro primer servicio web.
continúa leyendo en el siguiente enlace:
#API REST SPRING BOOT DESDE CERO – CREANDO NUESTRO PRIMER SERVICIO WEB
#API REST SPRING BOOT DESDE CERO – CREANDO NUESTRO PRIMER SERVICIO WEB
Comentarios
Publicar un comentario