Spring Framework
Muchas 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 aplicaciones Spring existentes, o usar las características de Spring en nuevos proyectos 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 desde 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 maneja la interfaz de usuario.
Temas
📄️ Spring Boot
Spring Boot es una opción popular para construir aplicaciones Java, proporcionando inyección de dependencias, auto-configuración y un modelo de servidor embebido. Al utilizar Spring Boot con webforJ, puedes inyectar servicios, repositorios y otros beans gestionados por Spring directamente en tus componentes de interfaz de usuario a través de la 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. webforJ añade dos alcances personalizados: @EnvironmentScope y @RouteScope, que se corresponden con la forma en que las aplicaciones webforJ manejan las sesiones del navegador y la navegación.
📄️ 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.
📄️ Spring DevTools
Spring DevTools proporciona reinicios automáticos de la aplicación cuando hay cambios en el código. webforJ DevTools añade una actualización automática del navegador: cuando Spring reinicia tu aplicación, el navegador se actualiza automáticamente a través del servidor LiveReload de webforJ.