06 - Documentar módulos de aplicación
Spring Modulith puede generar documentación a partir del modelo ApplicationModules, para que los diagramas y las descripciones reflejen la estructura del código.
1. Diagramas de componentes
Documenter genera diagramas de los módulos y sus dependencias en formato C4 o UML:
new Documenter(ApplicationModules.of(Application.class))
.writeModulesAsPlantUml()
.writeIndividualModulesAsPlantUml();
El primer método genera una vista global; el segundo, vistas por módulo con sus dependencias directas. Se puede seleccionar el estilo tradicional UML mediante DiagramOptions.
2. Fichas de módulo
writeModuleCanvases() genera una ficha por módulo con información como:
- Paquete base y beans expuestos, agrupados por estereotipo.
- Raíces de agregado detectadas.
- Eventos publicados y escuchados.
- Propiedades de configuración del módulo.
La documentación se escribe por defecto en spring-modulith-docs dentro del directorio de compilación. La extracción de metadatos de propiedades requiere spring-boot-configuration-processor.
3. Documento agregador
writeAggregatingDocument() genera all-docs.adoc, que enlaza los diagramas y fichas ya creados. writeDocumentation() permite generar el conjunto de documentación.
Referencia
- [Documentación oficial: Documenting Application Modules](https://docs.spring.io/spring-modulith/reference/documentation.html) (Spring Modulith 2.1.1).