Spring Framework
许多 Java 团队已经使用 Spring Boot 来构建应用程序。Spring 与 webforJ 的集成现在允许您将 webforJ 的 UI 组件添加到现有的 Spring 应用程序中,或在新的 webforJ 项目中使用 Spring 的特性。
您的 Spring 服务、存储库和配置正常工作。您的 webforJ 组件可以 @Autowired
任何 Spring bean。 Spring Data 存储库通过 SpringDataRepository
直接连接到 webforJ 表。通过 Spring DevTools 和 webforJ LiveReload 的自动浏览器刷新,开发变得更快。
这种集成让两个框架各自发挥所长 - Spring 处理后端问题,而 webforJ 处理 UI。
Topics
📄️ Spring Boot
Spring Boot 是构建 Java 应用的热门选择,提供依赖注入、自动配置和嵌入式服务器模型。当将 Spring Boot 与 webforJ 结合使用时,您可以通过构造函数注入直接将服务、存储库以及其他 Spring 管理的 bean 注入到您的 UI 组件中。
📄️ Routing
在webforJ与Spring的路由工作方式与普通webforJ应用程序完全相同。您仍然可以使用@Route注解定义路由、采用相同的导航模式和路由生命周期。唯一的区别是,当Spring存在时,您的路由还可以通过构造函数注入接收Spring Beans。
📄️ Scopes
Spring 通过范围管理 bean 的生命周期。每个范围定义了 bean 何时被创建,它的生命周期有多长,以及何时被销毁。webforJ 增加了两个自定义范围 - @EnvironmentScope 和 @RouteScope - 它们对应于 webforJ 应用如何处理浏览器会话和导航。
📄️ Spring Data JPA
Spring Data JPA 是 Spring 应用程序中数据访问的事实标准,提供了存储库抽象、查询方法和复杂查询的规范。webforJ 的 SpringDataRepository 适配器将 Spring Data 存储库与 webforJ 的 UI 组件连接起来,使您能够将 JPA 实体直接绑定到 UI 组件,实现动态过滤与 JPA 规范,并处理分页。
📄️ Background Jobs
当用户单击按钮以生成报告或处理数据时,他们期望界面保持响应。进度条应该动画,按钮应该对悬停做出反应,应用程序不应该冻结。Spring 的 @Async 注解使这成为可能,它将长时间运行的操作移动到后台线程。
📄️ Spring DevTools
Spring DevTools 提供在代码更改时自动重启应用程序的功能。webforJ DevTools 添加了自动浏览器刷新 - 当 Spring 重启您的应用程序时,浏览器会通过 webforJ 的 LiveReload 服务器自动刷新。