Green Beans:Spring MVC 入门

工程 | Colin Sampaleanu | 2011年1月4日 | ...

Spring MVC 是核心 Spring Framework 的一部分,是一个成熟且功能强大的行动-响应式 Web 框架,具备广泛的功能和选项,旨在处理各种以 UI 为中心和非 UI 为中心的 Web 层用例。所有这些对于 Spring MVC 新手来说可能令人不知所措。我认为向这类读者展示构建一个裸 Spring MVC 应用程序所需的极少工作量非常有用(例如,可以将我的例子视为世界上最简单的 Spring MVC 应用程序),这也是本文其余部分将要演示的内容。

我假设您熟悉 Java、Spring(基本的依赖注入概念)和基本的 Servlet 编程模型,但不了解 Spring MVC。阅读此博客文章后,读者可以通过查看 Keith Donald 的 Spring MVC 3 Showcase 继续学习 Spring MVC...

Git 和社交编程:如何无惧地合并

工程 | Dave Syer | 2010年12月21日 | ...

Git 非常适合社交编程和社区对开源项目的贡献:贡献者可以轻松尝试代码,并且可以有大量的人分叉和实验代码,而不会危及现有用户。本文通过 Git 命令行提供了一些示例,可能会帮助您增强对这个过程的信心:如何 fetch、pull 和 merge,以及如何回退错误。如果您对社交编程过程本身以及如何为 Spring 项目做贡献感兴趣,请查看 Keith Donald 在此网站上的另一篇博客

Grails 在 Github 上已经有一段时间了,并且在社区贡献方面有很好的经验,所以 SpringSource 的其他一些项目也开始迁移到那里。一些正在迁移的项目是新的(例如 Spring AMQP),一些是已经建立并从 SVN 迁移过来的(例如 Spring Batch)。还有一些 Spring 项目托管在 SpringSource 的 Gitorious 实例上,例如 Spring Integration...

Spring 项目中的社交编程

工程 | Keith Donald | 2010年12月21日 | ...

去年,Spring 在多个领域启动了新项目,包括社交移动数据集成。我从事这项工作近 7 年了,老实说,从来没有像今天这样让我感到兴奋。我之所以有这种感觉,是因为我们的社区理解在现有基础上构建以提升标准的重要性。这就是为什么我们能够如此迅速地发展,这也是由Juergen Hoeller领导的核心开发团队质量的证明。

我感到非常兴奋的一件事是社区贡献的数量不断增加。传统上,这些贡献是通过JIRA以补丁的形式提交的,但现代社交编程平台,如GithubGitorious,开启了新的机会。在这篇博客文章中,我想介绍一个新的贡献...

Spring Android 和 Maven(第一部分)

工程 | Roy Clarkson | 2010年12月17日 | ...

我们最近宣布了 Spring AndroidM1 版本,随之而来的是关于如何利用 Spring Android Rest Template 和 Spring Android Commons Logging 库构建 Android 应用程序的一些问题。Google 提供了几种编译 Android 应用程序的方法,包括 SDK 命令行工具和 Eclipse 的 ADT(Android 开发工具)插件。不幸的是,这两种方法都不包含集成的依赖管理支持。

概览

作为 Java 开发人员,我们已经习惯于使用 MavenGradle 等工具来管理外部依赖项。传统的 Java 应用程序在 JVM 中运行,而 Android 应用程序在 Dalvik 虚拟机上运行。  Dalvik VM 执行 Dalvik 可执行文件 (.dex) 格式的文件。  它运行由 Java 语言编译器编译并已转换为 .dex 格式的类。  构建工具如果想要编译一个带依赖项的兼容 Android 应用程序,就需要支持这个过程。

在 Android 应用程序中包含外部库基本有两种选择。第一种是手动将 jar 文件复制到项目内的 libs 目录中,并在 Eclipse 中更新 classpath。这是最简单的解决方案,也是 ADT 插件最支持的方案。缺点是您必须手动管理依赖项。另一种方法是使用第三方插件,例如 Maven Android Plugin,它可以自动从 Maven 仓库中包含依赖项。

在本文中,我将逐步介绍使用 Android 命令行工具、Maven、Maven Android Plugin 和 Android Maven artifacts 来编译一个利用 Spring Android 库的示例应用程序,并将其部署到 Android 模拟器上的过程。配置好 Maven 后,很容易创建构建、将其部署到模拟器、运行测试以及将应用程序打包以便部署到 Android Market。在运行示例代码之前,我们将首先强调 pom.xml 中必要的配置设置。本例中使用的组件如下所示。

Maven 配置

本节涵盖了使用 Spring Android 和 Maven Android Plugin 进行开发所需的 pom.xml 部分。

Maven Android Plugin

为了使用 Maven 构建 Android 应用程序,您需要在 pom.xml 文件中配置 Maven Android Plugin。Android 应用程序部署到设备上是作为 apk 文件,而不是 jar 文件。您必须在 packaging 配置中指定这一点。


<packaging>apk</packaging>

要在构建任务中配置 Maven Android 和 Maven Compiler 插件,请将 sdk platform 设置为所需的级别。在此示例中,将其设置为 9,对应于 Android 版本 2.3.1。emulator avd 值是您在 AVD Manager 中定义的 AVD(Android 虚拟设备)的名称。在此示例中,AVD 的名称为“9”,但 AVD 的名称可以随意命名,只要与您创建 AVD 时指定的名称匹配即可。这是构建和运行 Android 应用程序所需插件的基本配置...

vFabric 云应用平台更新

工程 | Adam Fitzgerald | 2010年11月30日 | ...

vFabric
我们最近发布了 vFabric 云应用平台几个组件的更新。正如 Rod Johnson 在原始公告中提到的,vFabric 旨在快速交付可即时扩展和云移植的下一代应用程序。这些最新的更新进一步增强了运行时应用程序服务之间的集成,并提高了现代应用程序的性能、可扩展性、监控和可管理性。

vFabric tc Server 2.1

vFabric tc Server 的更新使其持续成为构建和运行 Spring 应用程序的最佳平台: 

  • Spring Insight
    tc Server 2.1 附带的 Spring Insight 在开发和预生产期间为 Spring 应用程序提供了应用程序行为和性能的实时可见性。  现在可以将对应用程序行为的深入实时可见性进行持久化,以查看跨越先前时间范围的信息。  管理和导航方面的改进使其易于操作并更直观地呈现有用的信息。
  • 增强的模板功能
    新的内置模板机制简化了使用 vFabric GemFire HTTP 会话管理和 Hibernate 缓存模块配置 tc Server 的过程。  这使得 vFabric GemFire 可以随 tc Server 2.1 自动启动 – 无需更改应用程序代码或进行其他手动干预。

vFabric GemFire 6.5

vFabric GemFire 是用于现代应用程序的分布式数据管理平台,提供动态可扩展性、非常高的性能和类似数据库的持久性。两个新模块简化了 GemFire 与 tc Server 和 Hibernate 的集成,为现代应用程序提供了复杂的数据管理。Jags Ramnarayan 在他的最新博客文章中详细介绍了这些内容,但我们在此将提供一个快速概览。

  • vFabric GemFire HTTP 会话管理模块
    vFabric GemFire HTTP 会话管理模块分流并管理 tc Server 或 Tomcat 服务器的 HTTP 会话状态。   GemFire HTTP 会话管理模块预配置并随 tc Server 自动启动,提供高性能和可扩展性。  这对于处理大量请求并需要横向扩展以满足需求的 Web 应用程序特别有用。
    • 将会话管理从 tc Server 或 Tomcat Servlet/JSP 容器解耦
    • 独立扩展应用程序服务器和 HTTP 会话处理
    • 处理非常大的会话而不丢失会话
    • 通过新的模板机制或通过简单的配置修改轻松连接到 tc Server 或 Tomcat
  • vFabric GemFire Hibernate 缓存模块
    vFabric GemFire Hibernate 缓存模块为 Hibernate 提供快速、可扩展的分布式 L2 缓存。Swapnil Bawaskar 在他的最新博客文章中详细介绍了这些内容。
    • 显著提高 Hibernate 性能
    • 减少到数据库服务器的网络流量(和潜在的瓶颈)
    • 获得 GemFire 的所有企业级特性
    • 可扩展性 – 将数据划分到整个集群
    • 开发者生产力和云规模部署

vFabric Hyperic  4.5

vFabric Hyperic 是 vFabric 云应用平台的应用程序管理和监控组件,它提供对整个虚拟化应用程序堆栈的完整且持续的可见性。Jennifer Hickey 最近描述了关于 Hyperic 4.5 版本的内部细节...

STS 2.5.1 中新的 Groovy 调试支持

工程 | Andrew Eisenberg | 2010年11月30日 | ...

我们在最近发布的 SpringSource Tool Suite 2.5.1 中对 Groovy 调试功能进行了重大改进。一直以来都可以使用 Eclipse 对 Java 的普通调试支持来调试 Groovy 应用程序,但由于 Groovy 与 Java 在语言上的差异及其元编程特性,许多调试功能未能发挥出应有的作用。

本文中所有的屏幕截图都来自一个简单的 Grails 应用程序,因此这里的调试功能隐式地利用了动态添加的 Groovy 方法和属性。

单步进入

有了增强的 Groovy 调试支持,...

Spring Integration 2.0 GA 发布

工程 | Mark Fisher | 2010年11月23日 | ...

我非常高兴地宣布 Spring Integration 2.0 GA 版本已经发布!

下载

包含 Spring Integration JAR、源码 JAR 和文档的发行版 zip 包可从此处下载。

依赖配置

这些 artifact 也应该在今天晚些时候从 Maven 中央仓库获取。在此期间,您可以将 springframework Maven 仓库添加到您的 POM 中。以下示例显示了对“spring-integration-core”的依赖和 springframework 仓库条目。如果您打算使用我们的任何 adapter,可以将“spring-integration-core”替换为相应的 adapter...

进入移动应用开发领域 Spring

工程 | Keith Donald | 2010年11月20日 | ...

SpringOne2gx 大会上,我们宣布了社交媒体和移动应用程序开发领域令人兴奋的新举措。几周前,Craig Walls 发布了 Spring Social。今天,Roy Clarkson 发布了 Spring MobileSpring Android。在这篇文章中,我想重点介绍这些项目,并分享 Spring 如何旨在简化移动应用程序开发。

移动应用开发中的选择

如果您参加了今年的 SpringOne2gx 大会,您就会看到 Greenhouse,这是我们为社区构建的一个应用程序,同时也是 Spring 技术的参考和驱动。Craig 向您展示了 Greenhouse 的一些社交元素,例如将您的账户与 Twitter 和 Facebook 连接的功能。此外还有许多移动元素。具体来说,Greenhouse 兼具移动 Web 应用的功能,并支持原生的 iPhone 版 Greenhouse...

GORM 的又一种风格:MongoDB

工程 | Graeme Rocher | 2010年11月15日 | ...

我们旨在使 GORM 在所有 NoSQL 存储中普及的使命今天又达到了一个里程碑,我们很高兴地宣布 GORM for MongoDB

MongoDB 是一种文档数据库,它弥合了键值存储(快速且高度可扩展)和传统 RDBMS 系统(提供丰富的查询和深度功能)之间的差距。

RedisGemfire 插件一样,GORM for MongoDB 完全支持 CRUD 操作

def person = new Person(name:"Fred", age: 45)
person.save()

person = Person.get(person.id)
assert person != null

person.delete()

assert Person.get(person.id) == null

使用 dynamic finders 进行丰富的查询...

Hyperic 4.5 发布

工程 | Jennifer Hickey | 2010年11月10日 | ...

经过数月开发,我自豪地宣布 Hyperic 4.5 版本发布。在此版本中,我们将 Hyperic 从运行在 JBoss 上的 EJB 应用程序迁移到了运行在 Tomcat 上的 Spring Web 应用程序。详细的迁移步骤在我的将 Hyperic 从 EJB 迁移到 Spring 的案例研究中有所介绍,该案例研究最初在最近的 SpringOne 2GX 大会上展示。在这篇文章中,我想重点介绍我个人对这次转换最喜欢的几点。

可测试性提高

切换到 Spring 使我们能够将现有的无状态会话 EJB 转换为具有自动注入依赖的 POJO。这消除了相当一部分使单元测试变得非常困难的静态 JNDI 查找代码。Spring 也使得集成测试显著更容易。转换之前,我们有少数几个集成测试,每个测试需要花费几分钟来启动一个近似 EJB 容器的环境。这个过程既繁琐又容易出错。此外,测试通常会使数据库处于不一致的状态,因此需要添加数据库设置或清理代码,这增加了测试执行时间的开销,有时还会导致测试结果不一致。

转换后,我们能够利用 Spring 的集成测试支持来测试我们新服务层的已转换 EJB,例如...

获取 Spring 新闻通讯

订阅 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供了对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部