快速开发和部署Spring MVC和GWT应用程序

在本系列的 Spring Roo 简介,第 1 部分:从源代码构建 和 Spring Roo 简介,第 2 部分:使用 Spring Roo 开发应用程序 中,我们使用 Spring Roo 1.1 开发了一个会议应用程序。在 Spring Roo 简介,第 3 部分:开发 Spring Roo 的附加组件 和 Spring Roo 简介,第 5 部分:编写 Spring Roo 的高级附加组件和包装器附加组件 中,我们开发了 Spring Roo 附加组件。而在这两部分之间的 Spring Roo 简介,第 4 部分:用 Spring Roo 和 Cloud Foundry 在云中快速开发应用程序 中,我们查看了 Cloud Foundry 和 Spring Roo 集成。从第 2 部分开始,我们就没有讨论过 Spring Roo 在过去一年中引入的许多新特性和改变。在之前版本中使用的很多命令都已不再工作或已弃用。当前版本的另一个重要方面是 Spring Release 3.1(是 Spring 框架最新也是最棒的发行版)的使用,这个新版本提供了 Profile、Environment abstraction、Cache abstraction 等诸多新特性。使用 Spring Roo 当前版本就意味着使用了 Spring 框架的最新版本。在本文中,我们首先将介绍 Spring Roo 的最新版本,即 Version 1.2.1,然后创建一个多模块的 Google Web Toolkit (GWT) 和 Spring Web Model–View–Controller (MVC) 应用程序并将该应用程序部署到 Cloud Foundry。

Spring Roo 是构建 Spring 应用程序的一个命令行快速应用程序开发工具。Spring Roo 在过去一年中得到了长足的发展,它的两个主要发行版本 1.1.5 和 1.2 让 Spring Roo 的功能更强大,对企业开发者更加友好。这些发布中引入的主要特性或变更包括:

MongoDB 支持:对于 Spring Roo 的旧版本,Spring Roo 应用程序要求使用 RDBMS(比如 MySQL 或 PostgreSQL)作为后端,Google App Engine BigTable 支持除外(但它从不利用各种关系)。自 Version 1.2 起开始,可以使用 MongoDB 作为数据存储。MongoDB 是一个流行的 NoSQL 文档数据存储。构建 Spring MongoDB 应用程序的能力就凸显了 Spring Roo 的可扩展性。要查看所
有的 MongoDB 的相关命令,可以键入: help --command mongo JavaServer Faces (JSF) 2.0 支持:在 Version 1.2 之前,默认情况下,Spring Roo 支持使用 GWT 和 Spring MVC 作为视图选项,
但是对于 Version 1.2,Spring Roo 还支持使用 JSF 2.0 作为视图选项之一。Spring Roo 目前支持 Apache MyFaces 和 Oracle Mojarra JSF 实现,还支持使用 PrimeFaces 作为其组件库。这曾经是常见的 JIRA 问题之一,如今也在 Version 1.2 中也得到了解决。要查看 JSF 所有的可用命令,可以键入: roo> help --command "web jsf" * web jsf all - Create JSF managed beans for all entities * web jsf media - Add a cross-browser generic player to embed multimedia content * web jsf scaffold - Create JSF managed bean for an entity * web jsf setup - Set up JSF environment

本文将不会介绍构建 JSF 2.0 应用程序的所有内容,未来的文章中可能会介绍它们。想要构建 JSF 应用程序的开发人员可以尝试使用 bikeshop.roo 应用程序,它是 Spring Roo 捆绑附带的。Roo 分布中有一个样例文件夹。

多模块 Maven 项目支持:这是社区最强烈要求的流行特性之一,如今已经可用。在 Version 1.2 之前,所有的应用程序代码都必须在一个 Maven 项目中编写。这一点对于构建企业应用程序是不适用的,因为企业应用程序通常有多个子模块来应对不同的应用需求,比如 Web、持久性、服务等。如今,父项目可以为持久性、服务和 Web 定义不同的子模块。在本文后面的有关使用 Spring Roo 构建多模块 Maven 项目的后续部分中,会对这些进行详细介绍。 存储库和服务层支持:直至 Version 1.2,Spring Roo 才提供了在应用程序中包含存储库(或 DAO)和服务层的方法。默认情况下,它支持 Active Record 模式,以确保存在具有与持久性相关的所有方法的
丰富的实体类。这是社区最强烈要求的流行特性之一,如今也已可用。默认情况下,Spring Roo 还支持使用 Active Record 作为实现策略,但是,如果使用 –activeRecord false 创建实体,
那么可以选择一个存储库。这也将在本文的后续部分进行详细介绍。 反向工程支持更强健和更强大的数据库支持:虽然在第 2 部分已经谈及这方面的内容,但这个附加组件在过去一年中有了重大的改进。这些改进包括多模式支持、允许 DBRE 通过 Java Naming and Directory Interface (JNDI) 进行数据库连接、反向工程视图以及对存储库而非 Active Record 实体对象的支持。此外,很多 bug 也得到了修复。DBRE 不在本文的讨论范围之内。 改进了的 Spring Roo Add-on API:第 5 部分介绍了 Spring Roo 附加组件的创建。在该本中,我使用了 Spring Roo Version 1.2,因为这个 API 已经有所改进。Version 1.2 之前存在的某些类已经不复存在或是在 Version 1.2 中被弃用。Spring Roo 团队让 API 与当前的 Spring Roo 附加组件的更为一致。将附加组件更新到 Version 1.2 可能会出问题。 改进了的 GWT 支持:Spring Roo GWT 支持在最新的发布版中得到了改进。早些时候,单个命令 gwt setup 就能够完成从创建代理到向其他与 UI 相关的项发出请求的所有工作。这个单个命令如今已被弃用,并使用 清单 1 中所示的 10 个命令代替了它。GWT 将在本文的后续小节中介绍。

清单 1. web gwt help 的例子

roo> help --command "web gwt"* web gwt all - Locates all entities in the project and creates GWT requests, proxies, and creates the scaffold* web gwt gae update - Updates the GWT project to support GAE* web gwt proxy all - Locates all entities in the project and creates GWT proxies* web gwt proxy request all - Locates all entities in the project and creates GWT requests and proxies* web gwt proxy request type - Creates a proxy and request based on the specified type* web gwt proxy type - Creates a GWT proxy based on the specified type* web gwt request all - Locates all entities in the project and creates GWT requests* web gwt request type - Creates a GWT proxy based on the specified type* web gwt scaffold - Creates a GWT request, proxy and scaffold for the specified type* web gwt setup - Install Google Web Toolkit (GWT) into your project

除了上述特性和改进之外,我还会在本文提及其他的一些细微变化。我们先来创建一个新的 Spring Roo 1.2 会议应用程序。

Spring Roo 1.2 入门

下载并安装这些先决条件。

Java 6 包 Apache Maven 3 Spring Roo 1.2 及其更高版本

本文使用的是 Spring Roo 1.2.1,这是 Spring Roo 的当前版本。

构建会议应用程序

我们将创建与第 1 部分和第 2 部分中相同的会议应用程序。一个 Speaker 可以提供一个或多个 Talk,而 Talk 则只能由一个 Speaker 提供。图 1 给出了这个简单的类图。(Speaker 包含 firstName、lastName、email、organization、birthDate、age 和 gender,Talk 包含 title 和 description。)

图 1. Speaker 和 Talk 表的类图

时间: 2024-10-31 09:15:36

快速开发和部署Spring MVC和GWT应用程序的相关文章

spring mvc开发公众号-spring mvc开发的微信公众号怎么设置验证时的URL

问题描述 spring mvc开发的微信公众号怎么设置验证时的URL 您好. 我想咨询一下用spring mvc开发的微信公众号,在填写服务器配置时的url时应该写哪些?我的项目名是:weixinGo RequestMapping是valid.do 解决方案 就写上域名/valid.do就行,然后把你这个应用的token写上,在把剩下的填完就行了 解决方案二: http://域名/valid.do/? 这样吗?

Spring MVC快速上手教程

Spring Framework可以被使用在很多场合之中,考虑到目前大多数Java EE的项目是B/S结构的,所以这里的快速上手教程会以Spring MVC为切入点,用最简单的代码一步一步来实现一个图书列表的页面. 在正式动手之前需要做一些准备工作,先安装并设置好JDK 1.5和Tomcat 5,关于数据库及其访问方式可以根据个人习惯进行选择,教程中使用MySQL数据库和Hibernate(映射由Hibernate Annotation实现).请将实际使用到的jar文件复制到WEB-INF/li

《Servlet、JSP和Spring MVC初学指南》——导读

前言 Java Servlet技术简称Servlet技术,是Java开发Web应用的底层技术.由Sun公司于1996年发布,用来代替CGI--当时生成Web动态内容的主流技术.CGI技术的主要问题是每个Web请求都需要新启动一个进程来处理.创建进程会消耗不少CPU周期,导致难以编写可扩展的CGI程序.而Servlet有着比CGI程序更好的性能,因为Servlet在创建后(处理第一个请求时)就一直保持在内存中.此后,SUN公司发布了JavaServer Pages(JSP)技术,以进一步简化ser

PaaS云应用程序开发、部署和管理的最高境界

CodeName:BlueMix 是一款 beta 级产品,随着我们不断让其功能更加完善和更易于使用,它也将不断改进.我们将竭尽全力保持本文最新,但它并不总是完全跟上现状.感谢大家的理解! Codename: BlueMix:IBM Cloud 环境中的一项关键技术,BlueMix 是一个单一解决方案环境,包含用于跨多种领域快速开发和部署应用程序的即时资源.您可以使用这个基于开放标准的平台来构建.运行和管理 Web.移动.大数据和智能设备应用程序.BlueMix 支持许多流行的编程语言和框架.J

Spring MVC 开发快速入门

快速入门 这篇文章将教你快速地上手使用 Spring 框架,如果你手上有一本<Spring in Action>, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后, Spring 将这个请求

Spring MVC开发快速入门

这篇文章将教你快速地上手使用 Spring 框架,如果你手上有一本<Spring in Action>,那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看,否则那将是一场恶梦! 首先,我需要在你心里建立起 Spring MVC 的基本概念. 基于 Spring 的 Web 应用程序接收到 http://localhost:8080/hello.do(事实上请求路径是 /hello.do) 的请求后,Spring 将这个请求交给一个名为 he

spring boot 搭建的一个企业级快速开发脚手架

slife spring boot 搭建的一个企业级快速开发脚手架. 这本来是我自己平时测试用的项目,没打算开源. 但今天放到 开源中国 和 GitHub 没想到会被 码云设置为推荐项目.并且还上了今日热门项目 第一名 联系方式 qq群 421351927 項目地址https://gitee.com/jamen/slife 技术栈 Spring Boot MySQL Freemark SiteMesh Shiro Boostrapt mybatis.mybatisPlus redis Activ

《精通Spring MVC 4》——第1章 快速搭建Spring Web应用 1.1Spring Tool Suite简介

第1章 快速搭建Spring Web应用 在本章中,我们将会直接接触代码并搭建一个Web应用,本书的其他章节将会基于该应用进行讲解. 在这里,我们将会使用Spring Boot的自动配置功能来构建应用,这样的话,就能完全避免使用样板式的配置文件. 本书中将会使用Gradle和Java 8,但是也不必为此感到担心.如果你还在使用Maven和更早版本的Java的话,相信你会发现这些技术也是很易于使用的. 很多官方的Spring教程同时提供了Gradle构建和Maven构建,因此,如果你决定继续使用M

Spring MVC 教程,快速入门,深入分析(转载)

作者:赵磊 博客:http://elf8848.iteye.com 下载: Spring的官方下载网址是:http://www.springsource.org/download    (本文使用是的Spring 3.0.5版本) 目录  一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 六.springMVC-mvc.xml 配置文件片段讲解 七.sp