上次只是吧vaadin和spring整合到一起了,如果要在vaadin的页面中使用spring中的bean我用的是注解注入的方法(构造函数注入、属性注入),
1.页面对象
如这是我的一个自定义页面
package com.iyspace.manager.ui.user;
import java.net.MalformedURLException;
import java.net.URL;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import com.vaadin.terminal.ExternalResource;
import com.vaadin.ui.Embedded;
import com.vaadin.ui.Panel;
import com.vaadin.ui.VerticalLayout;
@Component
@Scope("prototype")
public class GroupPage extends VerticalLayout {
private static final long serialVersionUID = -3699494967134807703L;
private Panel panel;
public GroupPage(){
init();
}
public void init(){
URL url;
try {
url = new URL("http://www.baidu.com");
Embedded browser = new Embedded("", new ExternalResource(url));
browser.setType(Embedded.TYPE_BROWSER);
browser.setSizeFull();
this.addComponent(browser);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
该页面继承 com.vaadin.ui.VerticalLayout 布局类,内嵌了一个iframe内容链接是 baidu.com,
在使用该页面时不是直接去new一个对象而是将该页面纳入spring的管理这样页面就可以使用spring中的bean了。
注解Component 将页面纳入spring容器的管理,Scope注解指定每次(每次请求时)得到一个新的页面。
2.得到页面对象
自定义ViewManager类,继承org.springframework.context.ApplicationContextAware,使用spring的反射得到spring容器中的页面对象
package com.iyspace.manager.ui;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import com.iyspace.manager.VaadinmanagerApplication;
import com.iyspace.manager.ui.main.MainWindow;
@Component
@Scope("session")
public class ViewManager implements ApplicationContextAware {
private ApplicationContext applicationContext;
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
this.applicationContext = applicationContext;
}
public <T> T createView(Class<T> viewClazz){
T view = applicationContext.getBean(viewClazz);
return view ;
}
public <T> T switchView(Class<T> viewClazz){
T view = applicationContext.getBean(viewClazz);
com.vaadin.ui.Component c = (com.vaadin.ui.Component)view;
c.setSizeFull();
VaadinmanagerApplication.get().mainWindow.switchView(c);
return view;
}
}
分享到:
相关推荐
综上所述,整合Vaadin 6.7.3和Spring 3.0.5涉及使用注解将Vaadin UI组件注册为Spring bean,配置Spring的VaadinServlet,以及设置适当的组件扫描和Servlet配置。这种整合可以带来更强大的应用程序管理,更高的代码...
这个"vaadin-springRoo可运行的例子"是一个整合了这两个框架的实际项目,提供了完整的war包和源代码,使得开发者可以深入学习和理解如何在实际开发中结合Vaadin和Spring Roo。 Vaadin是一个开源的Java框架,它允许...
vaadin4spring, 用于 spring 和 Spring Boot的Vaadin集成 Vaadin4Spring扩展和扩展这个项目是作为官方 Vaadin spring add-on的... 现在有了一个 ,并且在 Vaadin4Spring 0.0.6中,这个项目将被视为正式的spring add-
本篇文章将深入探讨如何在Spring Boot应用中整合Vaadin、REST服务以及静态HTML,通过实例来解析这一技术栈的使用方法。 一、Vaadin在Spring Boot中的应用 1. Vaadin简介:Vaadin是一个基于Java的开源Web应用程序...
根据提供的文件信息,我们可以了解到《Building Modern Web Apps with Spring Boot and Vaadin.pdf》是一本关于使用Java语言开发现代Web应用的指南,特别强调了Spring Boot和Vaadin框架的结合使用。文件中提及的内容...
在Spring Boot中集成Vaadin,开发者可以利用Spring的安全性、数据访问和微服务管理等特性,同时享受到Vaadin的快速开发优势。 在官方文档中,首先介绍了构建现代Web应用的关键点。文档指出,使用Vaadin而不是传统的...
此项目是将原始移植到Vaadin和Spring Boot的练习。分行大师-Java 11,Vaadin 8.9.0(正在供货) vaadin-v8-java-v8 -Java 8,Vaadin 8.3.0(旧版) vaadin-v8-with-v7兼容性-具有Vaadin 7兼容性的Vaadin 8.1.5(旧版...
在压缩包中的“vaadin8-apring”可能是一个整合了Spring框架的Vaadin示例,Spring框架能与Vaadin无缝集成,提供依赖注入、安全管理等服务,使得应用的后端逻辑更加清晰和易于维护。 标签中的“license”强调了许可...
7. **集成Spring**:Vaadin可以与Spring框架无缝集成,方便进行依赖注入和应用管理。 8. **Vaadin Flow与Vaadin 8**:Vaadin有两个主要版本,Vaadin 8基于GWT,而较新的Vaadin Flow是基于Java Servlet API的,支持...
vaadin10-spring-security ...这是一个如何与Vaadin 10一起使用Spring和Spring安全性的示例。 已通过Apache Tomcat 8.5.5进行测试。 免责声明:对于本代码的使用,我不承担任何责任,使用此代码后果自负。
有关其他框架版本,请参见其他分支: Vaadin Framework V7版本的1.2 Vaadin Framework V8.0.X版本的2.0和2.1 Vaadin Framework V8.2版本的3.0 Vaadin 10为10.0 Vaadin 13(行尾)的11.0 Vaadin 14.0为12.0 Vaadin ...
本项目是一个基于Spring Boot框架和Vaadin UI库开发的天气预报应用程序。Spring Boot以其便捷的配置、自动装配特性,使得快速构建微服务应用变得简单。而Vaadin则是一款强大的Java Web开发框架,它允许开发者使用...
* 使用 `@Value` 注解:在需要使用的类中添加 `@Value` 注解,Spring Boot 将自动将配置文件中的信息绑定到应用程序中。 Web 开发 在 Spring Boot 中,Web 开发是指使用 Spring Boot 框架来开发 Web 应用程序。...
整个项目将围绕Spring Boot的生命周期管理和Vaadin的UI组件展开,通过Spring Data JPA或者MyBatis等数据访问技术与数据库进行交互,实现员工信息的CRUD操作。同时,可能还会涉及安全性配置,如使用Spring Security...
Vaadin是一款基于Java的开源富互联网应用程序(RIA)框架,主要使用Apache V2许可协议。由芬兰的IT Mill公司(后来更名为Vaadin Ltd)开发,最初以Millstone用户界面类库的形式始于2000年。Vaadin的核心理念是简化...
Mybatis是Java中的一种持久层框架,它通过使用XML或注解的方式来配置和映射原始类型、接口和Java的POJO(Plain Old Java Objects,普通的Java对象)为数据库中的记录。整合Mybatis意味着需要在项目中配置Mybatis的...
Vaadin Spring的注射和内窥镜使用Vaadin Spring导航通过Spring DI机制注册VaadinServiceInitListener Spring Boot应用程序中的流程模板在Spring应用程序中使用I18N从命令行运行项目在项目根目录中运行mvn clean
测试使用Spring Boot,Spring Loaded和Vaadin启动项目命令行mvn install spring-boot:run并在浏览器中打开在IDE中启动项目选项1,从您的IDE启动spring-boot:run 选项2,启动Application类,在这种情况下,您需要下载...
Vaadin Spring Boot演示这是一个使用生成的小型Vaadin应用程序,它使用JPA和Spring Data存储库来存储数据。 最初在巴塞罗那2015年SpringI / O上展出。 该应用程序具有两个视图:用于列出GPS数据的组件和 。 适用于...
资源名称:Vaadin简介和HelloWorld 中文WORD版内容简介:本文档主要讲述的是Vaadin简介和HelloWorld;Vaadin(芬兰民间传说中的一种神话生物,是女神也是一种山岭驯鹿的神话祖先) 是一款使用 Apache V2 许可协议的...