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 opción popular para construir aplicaciones Java, proporcionando inyección de dependencia, auto-configuración y un modelo de servidor embebido. Cuando usas Spring Boot con webforJ, puedes inyectar servicios, repositorios y otros beans gestionados por Spring directamente en tus componentes de interfaz a través de la inyección por constructor.
📄️ Routing
Routing en webforJ con Spring funciona exactamente de la misma manera que en aplicaciones webforJ estándar. Aún utilizas la anotación @Route para definir rutas, los mismos patrones de navegación y el mismo ciclo de vida de las rutas. 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 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, permitiéndote vincular entidades JPA directamente a componentes de UI, implementar filtrado dinámico con Especificaciones JPA y manejar paginación.
📄️ Background Jobs
Cuando los usuarios hacen clic en un botón para generar un informe o procesar datos, esperan que la interfaz siga siendo 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 posible esto al mover operaciones de larga duración a hilos en segundo plano.