领先一步
VMware 提供培训和认证,以快速提升您的进度。
了解更多这篇文章是由社区成员Matti Tahvonen (@MattiTahvonen)撰写的客座文章,他担任Vaadin Ltd的开发者推广者,该公司最初开发了 Vaadin Framework,并为其提供商业服务和扩展。
Vaadin 的 Spring 集成库自 5 月份以来一直处于测试阶段,并且已被多个生产应用程序使用。今天,我们自豪地宣布取消测试标记,并发布了稳定的 1.0.0 版本。
Vaadin是一个基于组件的 Web UI 框架,您的应用程序状态和逻辑位于 Java 应用程序服务器的内存中。此架构使您可以将 JVM 和 Spring 等框架的全部功能应用于您的 UI 代码,尤其是在将 UI 逻辑紧邻您的数据方面具有巨大优势。由于其强大的抽象功能和基于组件的 API(类似于桌面 UI 库),您可以几乎忘记您实际上正在使用 Web 应用程序,而专注于您的领域问题。
Vaadin并非适用于每个网站的工具,但如果您正在构建需要比一些简单表单更多功能的单页 Web 应用程序,那么您绝对应该将 Vaadin 纳入您的工具箱。如果您是 Vaadin 新手并且想知道它在幕后是如何工作的,请查看介绍页面以获得更详细的解释。
作为一个纯 Java 库,Vaadin 一直很容易融入基于 Spring 的软件堆栈。借助最近发布的官方 Vaadin Spring 集成库,它变得更加容易。只需使用注释标记您的 UI 对象,它们就会变成 Spring 托管的 Bean,从而可以轻松地使用 IoC 技术并将例如基于 Spring Data 的服务直接连接到您的 UI 类。Vaadin Spring 自然支持 Spring Boot,但也可以用于老式的 Spring 部署。
对于使用新的 Spring + Vaadin 项目轻松入门,start.spring.io 服务支持 Vaadin Spring 集成库。只需在那里点击 Vaadin 复选框,然后将生成的项目导入到您最喜欢的 IDE 中。尝试以下代码片段,创建一个基于 Spring Boot 的简单 hello world 应用程序
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Service
public static class MyService {
public String sayHi() {
return "Hello Spring!";
}
}
@Theme("valo")
@SpringUI(path = "")
public static class VaadinUI extends UI {
@Autowired
MyService myService;
@Override
protected void init(VaadinRequest request) {
Button button = new Button("Greet service");
button.addClickListener(e -> Notification.show(myService.sayHi()));
setContent(button);
}
}
}
有关如何推进基于 Spring + Vaadin 的软件战略的更多提示,请参阅vaadin.com/spring以及我们最近的介绍性网络研讨会。