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)
内容:
- 通过正常Inject注入的属性包括ScaffoldDesktopShell shell,placeHistoryFactory,applicationMasterActivities,applicationDetailsActivities。
- 通过BindingModule注入的属性包括eventBus,ApplicationRequestFactory
requestFactory,placeController;由于这些类需要通过GWT来create,所以需要用到BindingModule设置。
- 定义run
方法作为整个app的入口。
The Request Factory
位置:src/包.client.managed.request
内容:
-
RequestFactory
<|--
ApplicationRequestFactory
接口:Request的工厂,每个Entity都应该有对应的Request创建方法在这个工厂里,同时它还包括了UserInformationRequest(User模块),LoggingRequest(Logging模块);。
-
RequestContext
<|--*Request
接口:定义所有在客户端可以访问的entity*的crud+finding类方法。
-
EntityProxy
<|--*Proxy
接口:对entity*在客户端的代理,类似DTO。
- ApplicationEntityTypesProcessor<T> @TODO
。
The IoC (Gin)
位置:src../包.client.scaffold.ioc
内容:
- InjectWapper接口(包含2个实现类 DesktopInjectorWrapper /
MobileInjectorWrapper):Inject类的工厂;
- ScaffoldInjector接口,继承自Ginjector(包含2个子接口DesktopInjector/MobileInjector):Inject类,使用指定的Binding Module类来生成依赖注入后的对象,由于客户端无法使用Guice的Inject的getInstance方法,所以在Gin中要定义Inject接口,并通过@GinModules定义具体的Binding Module;
- ScaffoldModule类,继承自AbstractGinModule:Binding Module类,通过config函数定义依赖关系。
分享到:
相关推荐
- **Web 开发**:Spring Roo 提供了基于 Spring MVC 的 Web 开发支持,同时也支持 RIA 技术,如 GWT 和 Flex。 - **Web 测试**:提供了对 Mocks 和 Selenium 的支持,方便进行 Web 应用程序的测试。 - **安全配置**...
3. **创建SmartGwt组件**:根据业务需求设计并实现SmartGwt的用户界面组件,这些组件通常会与Spring管理的业务服务进行交互。 4. **实现数据访问**:通过Spring的JdbcTemplate或Mybatis的SqlSession,实现数据的增...
标题 "gwt+spring+hibernate" 涉及的是一个使用Google Web Toolkit (GWT)、Spring框架和Hibernate ORM技术的集成示例。这是一个常见的Web应用开发组合,用于构建高效、可扩展且功能丰富的Java web应用程序。下面将...
3. **实现服务端接口**:在服务器端,为GWT客户端接口创建实现类,并将其作为Spring bean定义。Spring会自动管理和注入这些bean,包括任何它们依赖的其他bean。 4. **部署Spring应用上下文**:确保在Web应用的`web....
【标题】"GWT+Spring demo- springgwt_sudoku" 涉及的主要知识点是Google Web Toolkit (GWT) 和Spring框架的整合应用。这是一个实际的项目示例,展示了如何将GWT的客户端能力与Spring的服务器端功能相结合,以创建一...
本项目"smartGwt、spring、Mybatis整合"就是一个很好的例子,它将三种流行的技术——SmartGWT、Spring和Mybatis融合在一起,创建了一个包含登录功能和分页查询功能的应用。以下是关于这三个技术及其整合方式的详细...
SmartGWT + Spring + Hibernate 是一个常见的企业级应用开发组合,它们各自在Web应用程序开发中扮演着重要角色。SmartGWT是基于GWT(Google Web Toolkit)的一个强大的UI库,提供丰富的用户界面组件和高性能的...
【GWT与Spring整合】是现代企业级应用开发中的一个重要话题。Google Web Toolkit (GWT) 是一个由Google开发的开源工具包,它允许开发者使用Java编写富互联网应用(RIA),然后自动将其编译为高效的JavaScript代码。...
3. **springgwt_sudoku.zip** - 从名字上看,这可能是一个特定的应用示例,使用GWT和Spring来实现数独游戏。除了基本的整合,它可能展示了如何在GWT客户端和Spring服务端之间进行数据交换,以及如何处理用户交互。 ...
标题 "gwt-spring" 指涉的是一个结合了Google Web Toolkit (GWT) 和Spring框架的项目。GWT是一种用于构建富互联网应用程序(RIA)的Java开发工具,而Spring是广泛使用的Java企业级应用框架,尤其在依赖注入和控制...
一个GWT+Spring2+Spring Security2+Hibernate3的实例,数据库为mssql.在/GwtWeb/WebRoot/WEB-INF/lib 目录下RequiredJar.txt有需要用到的库说明 修改一下applicationContext.xml的数据库设定就可以使用
gwt-site, gwtproject.org 网站的网页来源 文档GWT文档是在 http://www.gwtproject.org/doc/latest/DevGuide.html 发布的。引用Markdown 处理器:https://github.com/sirthias/pegdow
3. **创建Spring配置**:定义Spring的ApplicationContext,配置服务Bean并启用GWT-RPC支持。 4. **定义服务接口和服务实现**:在客户端和服务器端分别定义相同的RPC服务接口,服务器端实现该接口,并通过Spring管理...
3. **Spring4GWT的集成**:Spring4GWT允许GWT应用使用Spring的依赖注入,使服务层更容易管理和测试。通过Spring4GWT,开发者可以在GWT客户端直接调用服务器端的服务,而无需手动创建和管理远程服务实例。 4. **...
3. **定义服务接口**:在GWT中创建远程服务接口,与Spring服务层进行交互。 4. **实现服务**:在服务器端实现这些接口,利用Spring的bean管理和依赖注入。 5. **配置Spring**:创建Spring配置文件,定义bean,配置...
各种各样的资源找齐还是要点时间的: 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亲手整合,也可以上新浪博客去看 http://blog.sina.com.cn/s/blog_687dfecb0100yrmf.html
GWT(Google Web Toolkit)和Spring框架的集成是企业级Web应用开发中常见的技术组合。GWT是一款由Google开发的开源工具,它允许开发者使用Java语言编写客户端代码,然后自动编译为高效的JavaScript,实现丰富的...
介绍gwtrpc-spring项目限制了Spring GWT-RPC。 其目的是提供后者的简化和更新版本。得到它Spring GWT-RPC在Maven Central上发布: < dependency> < groupId>fr.sertelon.spring</ groupId> < artifactId>spring-gwt...