Estructura de Paquetes en una aplicación de Spring Boot

En una aplicación desarrollada en Spring Boot debemos tener cuidado en ordenar y estructurar los paquetes de modo que quede claro su propósito. Veremos la forma más estandarizada para ordenar los paquetes en Spring Boot.

¿Cómo debemos ordenar los paquetes en una aplicación Spring Boot?

Noy hay una forma obligatoria que Spring nos imponga para el nombrado y la estructura de nuestros paquetes. Sin embargo, sí existen recomendaciones, usos comunes y buenas prácticas.

Una buena recomendación y buena práctica es dividir nuestro proyecto en capas.

Podemos dividir nuestro proyecto en un paquete para los controladores, otro para los servicios, el modelo de nuestros datos y el acceso a la base de datos.

En otro artículo vimos los componentes y estereotipos en dónde ya Spring nos propone una división en Controller, Service, Repository a fin de ordenar mejor nuestro código.

Aprovechando esto podemos crear los paquetes para cada estereotipo de este modo.

  • Paquete controller para todos los endpoints que tenga nuestra aplicación.
  • Paquete service para agregar alli las clases que respondan a la funcionalidad y lógica.
  • Paquete model para las representaciones de nuestro modelo de datos (entidades).
  • Paquete repository para las clases que establecen la comunicación con la base de datos.

Estructura paquetes

Nuestro proyecto se vería de este modo.

Estructura paquetes proyecto

Además de estos paquetes para nuestras clases vemos otras carpetas para los resources, y el paquete para los test. En la carpeta resources ubicamos el archivo de propiedades.

Conclusión

Vimos aquí la distribución habitual y clásica en el ordenamiento de paquetes. Sin embargo, dividir paquetes en capas es la más utilizada y que deberías tener presente.

If you wish to send me any corrections or suggestions, please contact me.
Thanks for your feedback :)

Ver también