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

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

Git非常适合社交编码和开源项目的社区贡献:贡献者可以轻松试用代码,并且可以有很多人分叉并试验它,而不会危及现有用户。本文提供了一些 Git 命令行示例,这些示例可能有助于增强您对该过程的信心:如何获取、拉取和合并,以及如何撤消错误。如果您对社交编码过程本身以及如何为 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 Android 的 M1 版本,并且随着该版本的发布,围绕如何构建使用 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 中更新类路径。这是最简单的解决方案,也是 ADT 插件最支持的解决方案。缺点是您必须手动管理依赖项。或者,可以使用像Maven Android Plugin这样的第三方插件来自动包含来自 Maven 存储库的依赖项。

在这篇文章中,我将逐步介绍使用 Android 命令行工具、Maven、Maven Android Plugin 和Android Maven 工件编译一个使用 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>apk</packaging>

要在构建任务中配置 Maven Android 和 Maven Compiler 插件,请将 sdk 平台设置为所需的级别。在此示例中,它设置为 9,对应于 Android 版本 2.3.1。模拟器 avd 值是您在 AVD 管理器中定义的 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 可以在这里下载。

依赖项配置

这些工件也应该在今天晚些时候从 Maven 中央存储库中获得。同时,您可以将 springframework Maven 存储库添加到您的 POM。以下示例显示了对“spring-integration-core”和 springframework 存储库条目的依赖关系。如果您计划使用任何我们的适配器,您可以将“spring-integration-core”替换为相应的适配器……

进入移动应用程序开发

工程 | 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应用程序,并拥有原生的Greenhouse for iPhone……

又一款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

使用动态查找器进行丰富的查询……

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的新服务层……

绿色Bean:让Spring融入您的步伐(和应用程序)

工程 | Josh Long | 2010年11月9日 | ...

Spring框架在2003年成为事实上的标准,从那时起,它一直在帮助人们构建更大、更好、代码更简洁的应用程序。在这篇文章中,我们将讨论使用Spring组件模型配置应用程序的可用选项。我们将从最简单的形式开始构建一个简单的应用程序,并对其进行修改,以利用Spring框架中许多简化功能的优势,这些功能使其成为,并将继续使其成为当今应用程序的事实上的标准。

现代企业Java应用程序有许多协作对象……

获取Spring通讯

通过Spring通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看全部