`
ratlsun
  • 浏览: 49230 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

GWT涂鸦(3)——Spring Roo Project

阅读更多

The module XML file

位置:src/main/java/包/applicationScaffold.gwt.xml

由于Roo的项目必须是maven构建的,所以有固定的src目录结构;名字也是自动生成的(@question希望在使用Roo命令时可以修改 );

内容:

模块:applicationScaffold

继承User
继承Standard theme

继承Activity

继承Place

继承Inject :gwt的依赖注入模块,项目名字叫Gin ,是基于Guice

继承RequestFactory :可以理解为客户端entity管理

继承CellView

继承Text

继承Logging


entry-point:**.client.scaffold.Scaffold

源client
源shared

公共public

 

下面配置表示对InjectorWrapper的注入会根据客户端不同而采用Desktop或者Mobile的InjectorWapper

 

  <define-property name="mobile.user.agent" values="mobilesafari, none"/>
  
  <property-provider name="mobile.user.agent">
  
  <![CDATA[
  		var ua = navigator.userAgent.toLowerCase();

        if (ua.indexOf("webkit") != -1 && ua.indexOf("mobile") != -1) {
        return "mobilesafari";
        }

        var isMobile;

        // Look for the m as a url argument
        if (isMobile == null) {
        var args = location.search;
        var startMobile = args.indexOf("m");
        if (startMobile >= 0) {
          var mobile = args.substring(startMobile);
          var begin = mobile.indexOf("=") + 1;
          var end = mobile.indexOf("&");
          if (end == -1) {
            end = mobile.length;
          }
          isMobile = mobile.substring(begin, end);
        }
        }

        if (isMobile){
        return "mobilesafari";
        }

        return "none";
  ]]>
  
  </property-provider>
 

The Host Page

位置:src\main\webapp\ApplicationScaffold.html

内容:

meta tag
css: 没有指定css
js: applicationScaffold/applicationScaffold.nocache.js

span: 显示loading...

 

 

 

 

The Entry Point Class

位置:src/包.client.scaffold.Scaffold

内容:

实现EntryPoint.onModuleLoad():通过DesktopInjectorWrapper得到DesktopInjector得到ScaffoldDesktopApp 对象并调用该对象的run方法。

 

 

The Main App Class

位置:src/包.client.scaffold.ScaffoldDesktopApp(ScaffoldMobileApp)

内容:

  1. 通过正常Inject注入的属性包括ScaffoldDesktopShell shell,placeHistoryFactory,applicationMasterActivities,applicationDetailsActivities。
  2. 通过BindingModule注入的属性包括eventBus,ApplicationRequestFactory requestFactory,placeController;由于这些类需要通过GWT来create,所以需要用到BindingModule设置。
  3. 定义run 方法作为整个app的入口。

 

The Request Factory

位置:src/包.client.managed.request

内容:

  1. RequestFactory <|-- ApplicationRequestFactory 接口:Request的工厂,每个Entity都应该有对应的Request创建方法在这个工厂里,同时它还包括了UserInformationRequest(User模块),LoggingRequest(Logging模块);。
  2. RequestContext <|--*Request 接口:定义所有在客户端可以访问的entity*的crud+finding类方法。
  3. EntityProxy <|--*Proxy 接口:对entity*在客户端的代理,类似DTO。
  4. ApplicationEntityTypesProcessor<T> @TODO

 


The IoC (Gin)

位置:src../包.client.scaffold.ioc

内容:

  1. InjectWapper接口(包含2个实现类 DesktopInjectorWrapper / MobileInjectorWrapper):Inject类的工厂;
  2. ScaffoldInjector接口,继承自Ginjector(包含2个子接口DesktopInjector/MobileInjector):Inject类,使用指定的Binding Module类来生成依赖注入后的对象,由于客户端无法使用Guice的Inject的getInstance方法,所以在Gin中要定义Inject接口,并通过@GinModules定义具体的Binding Module;
  3. ScaffoldModule类,继承自AbstractGinModule:Binding Module类,通过config函数定义依赖关系。

 

分享到:
评论

相关推荐

    spring roo action

    - **Web 开发**:Spring Roo 提供了基于 Spring MVC 的 Web 开发支持,同时也支持 RIA 技术,如 GWT 和 Flex。 - **Web 测试**:提供了对 Mocks 和 Selenium 的支持,方便进行 Web 应用程序的测试。 - **安全配置**...

    smartgwt+mybatis+spring的整合

    3. **创建SmartGwt组件**:根据业务需求设计并实现SmartGwt的用户界面组件,这些组件通常会与Spring管理的业务服务进行交互。 4. **实现数据访问**:通过Spring的JdbcTemplate或Mybatis的SqlSession,实现数据的增...

    gwt+spring+hibernate

    标题 "gwt+spring+hibernate" 涉及的是一个使用Google Web Toolkit (GWT)、Spring框架和Hibernate ORM技术的集成示例。这是一个常见的Web应用开发组合,用于构建高效、可扩展且功能丰富的Java web应用程序。下面将...

    gwt+spring

    3. **实现服务端接口**:在服务器端,为GWT客户端接口创建实现类,并将其作为Spring bean定义。Spring会自动管理和注入这些bean,包括任何它们依赖的其他bean。 4. **部署Spring应用上下文**:确保在Web应用的`web....

    GWT+Spring demo- springgwt_sudoku

    【标题】"GWT+Spring demo- springgwt_sudoku" 涉及的主要知识点是Google Web Toolkit (GWT) 和Spring框架的整合应用。这是一个实际的项目示例,展示了如何将GWT的客户端能力与Spring的服务器端功能相结合,以创建一...

    smartGwt、spring、Mybatis整合

    本项目"smartGwt、spring、Mybatis整合"就是一个很好的例子,它将三种流行的技术——SmartGWT、Spring和Mybatis融合在一起,创建了一个包含登录功能和分页查询功能的应用。以下是关于这三个技术及其整合方式的详细...

    smartgwt + spring + hibernate

    SmartGWT + Spring + Hibernate 是一个常见的企业级应用开发组合,它们各自在Web应用程序开发中扮演着重要角色。SmartGWT是基于GWT(Google Web Toolkit)的一个强大的UI库,提供丰富的用户界面组件和高性能的...

    GWT与Spring整合经典文章

    【GWT与Spring整合】是现代企业级应用开发中的一个重要话题。Google Web Toolkit (GWT) 是一个由Google开发的开源工具包,它允许开发者使用Java编写富互联网应用(RIA),然后自动将其编译为高效的JavaScript代码。...

    gwt spring整合资源下载

    3. **springgwt_sudoku.zip** - 从名字上看,这可能是一个特定的应用示例,使用GWT和Spring来实现数独游戏。除了基本的整合,它可能展示了如何在GWT客户端和Spring服务端之间进行数据交换,以及如何处理用户交互。 ...

    gwt-spring

    标题 "gwt-spring" 指涉的是一个结合了Google Web Toolkit (GWT) 和Spring框架的项目。GWT是一种用于构建富互联网应用程序(RIA)的Java开发工具,而Spring是广泛使用的Java企业级应用框架,尤其在依赖注入和控制...

    GWT+Spring2+Spring Security2+Hibernate3实例

    一个GWT+Spring2+Spring Security2+Hibernate3的实例,数据库为mssql.在/GwtWeb/WebRoot/WEB-INF/lib 目录下RequiredJar.txt有需要用到的库说明 修改一下applicationContext.xml的数据库设定就可以使用

    gwt-site, gwtproject.org 网站的网页来源.zip

    gwt-site, gwtproject.org 网站的网页来源 文档GWT文档是在 http://www.gwtproject.org/doc/latest/DevGuide.html 发布的。引用Markdown 处理器:https://github.com/sirthias/pegdow

    spring集成gwt的办法

    3. **创建Spring配置**:定义Spring的ApplicationContext,配置服务Bean并启用GWT-RPC支持。 4. **定义服务接口和服务实现**:在客户端和服务器端分别定义相同的RPC服务接口,服务器端实现该接口,并通过Spring管理...

    Spring4GWT技术资料

    3. **Spring4GWT的集成**:Spring4GWT允许GWT应用使用Spring的依赖注入,使服务层更容易管理和测试。通过Spring4GWT,开发者可以在GWT客户端直接调用服务器端的服务,而无需手动创建和管理远程服务实例。 4. **...

    Ext-Gwt(GWT)开发实例(整合Spring +Hibernate)

    3. **定义服务接口**:在GWT中创建远程服务接口,与Spring服务层进行交互。 4. **实现服务**:在服务器端实现这些接口,利用Spring的bean管理和依赖注入。 5. **配置Spring**:创建Spring配置文件,定义bean,配置...

    gwt-ext explorer eclipse project 入门与提高

    各种各样的资源找齐还是要点时间的: 1、下载gwt-ext2.04解压 2、解压本资源,导入Eclipse 3、将解压gwt-ext2.04得到一jar包设入classpath 4、按载图编辑你的src 文件夹

    GSH:spring3.1.0M2+Hibernate3.5+GWT2.4+JPA+Annotation+Spring4gwt0.0.1亲手整合

    GSH:spring3.1.0M2+Hibernate3.5+GWT2.4+JPA+Annotation+Spring4gwt0.0.1亲手整合,也可以上新浪博客去看 http://blog.sina.com.cn/s/blog_687dfecb0100yrmf.html

    gwt_spring-nolib.zip

    GWT(Google Web Toolkit)和Spring框架的集成是企业级Web应用开发中常见的技术组合。GWT是一款由Google开发的开源工具,它允许开发者使用Java语言编写客户端代码,然后自动编译为高效的JavaScript,实现丰富的...

    spring-gwtrpc:GWT RPC服务的Spring集成

    介绍gwtrpc-spring项目限制了Spring GWT-RPC。 其目的是提供后者的简化和更新版本。得到它Spring GWT-RPC在Maven Central上发布: &lt; dependency&gt; &lt; groupId&gt;fr.sertelon.spring&lt;/ groupId&gt; &lt; artifactId&gt;spring-gwt...

Global site tag (gtag.js) - Google Analytics