Spring Framework
Muchos equipos de Java ya utilizan Spring Boot para construir aplicaciones. La integración de Spring con webforJ ahora te permite agregar los componentes de UI de webforJ a las aplicaciones Spring existentes, o utilizar las características de Spring en nuevos proyectos de webforJ.
Tus servicios, repositorios y configuraciones de Spring funcionan como de costumbre. Tus componentes de webforJ pueden @Autowired
cualquier bean de Spring. Los repositorios de Spring Data se conectan directamente a las tablas de webforJ a través de SpringDataRepository
. El desarrollo se vuelve más rápido con la actualización automática del navegador de Spring DevTools y webforJ LiveReload.
La integración mantiene ambos frameworks haciendo lo que mejor saben hacer: Spring maneja las preocupaciones del backend mientras que webforJ se encarga de la UI.
Temas
📄️ Spring Boot
Spring Boot es una elección popular para construir aplicaciones Java, proporcionando inyección de dependencias, auto-configuración y un modelo de servidor embebido. Al usar Spring Boot con webforJ, puedes inyectar servicios, repositorios y otros beans gestionados por Spring directamente en tus componentes de UI a través de inyección por constructor.
📄️ Routing
El enrutamiento en webforJ con Spring funciona exactamente de la misma manera que en aplicaciones webforJ simples. Aún utilizas la anotación @Route para definir rutas, los mismos patrones de navegación y el mismo ciclo de vida de la ruta. La única diferencia es que cuando Spring está presente, tus rutas también pueden recibir beans de Spring a través de la inyección por constructor.
📄️ Scopes
Spring gestiona el ciclo de vida de los beans a través de alcances. Cada alcance define cuándo se crea un bean, cuánto tiempo vive y cuándo se destruye. Además de los alcances estándar de Spring, webforJ añade tres alcances personalizados: @WebforjSessionScope, @EnvironmentScope y @RouteScope.
📄️ Spring Data JPA
Spring Data JPA es el estándar de facto para el acceso a datos en aplicaciones de Spring, proporcionando abstracciones de repositorio, métodos de consulta y especificaciones para consultas complejas. El adaptador SpringDataRepository de webforJ conecta los repositorios de Spring Data con los componentes de UI de webforJ, lo que te permite vincular entidades JPA directamente a los componentes de la UI, implementar filtrado dinámico con Especificaciones JPA y manejar la paginación.
📄️ Background Jobs
Cuando los usuarios hacen clic en un botón para generar un informe o procesar datos, esperan que la interfaz se mantenga receptiva. Las barras de progreso deben animarse, los botones deben reaccionar al pasar el cursor y la aplicación no debe congelarse. La anotación @Async de Spring hace esto posible al mover operaciones de larga duración a hilos en segundo plano.