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 bean。
📄️ Scopes
Spring 管理 bean 生命周期通过范围。每个范围定义了 bean 的创建时机、生命周期及销毁时机。除了标准的 Spring 范围外,webforJ 还增加了三个自定义范围:@WebforjSessionScope、@EnvironmentScope 和 @RouteScope。
📄️ Spring Data JPA
Spring Data JPA 是 Spring 应用程序中数据访问的事实标准,提供了存储库抽象、查询方法和复杂查询的规范。webforJ 的 SpringDataRepository 适配器将 Spring Data 存储库与 webforJ 的 UI 组件连接起来,使您能够将 JPA 实体直接绑定到 UI 组件,实现动态过滤与 JPA 规范,并处理分页。
📄️ Background Jobs
当用户单击按钮以生成报告或处理数据时,他们期望界面保持响应。进度条应该动画,按钮应该对悬停做出反应,应用程序不应该冻结。Spring 的 @Async 注解使这成为可能,它将长时间运行的操作移动到后台线程。