Spring Android and Maven (Part 1)

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

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

概述

作为 Java 开发人员,我们已经习惯了欣赏 Maven 和 Gradle 等工具来管理外部依赖项。虽然传统的 Java 应用程序运行在 JVM 上,但 Android 应用程序运行在 Dalvik 虚拟机上。Dalvik VM 执行 Dalvik Executable (.dex) 格式的文件。它运行由 Java 语言编译器编译后转换为 .dex 格式的类。如果构建工具想要能够编译具有依赖项的兼容 Android 应用程序,则需要支持此过程。

基本上有两种将外部库包含到 Android 应用程序中的选项。第一种是手动将 jar 文件复制到项目中的 libs 目录,并在 Eclipse 中更新类路径。这是最简单的解决方案,也是 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>apk</packaging>

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

Spring.NET 1.3.1 已发布

发布 | sbohlen | 2010 年 12 月 14 日 | ...

亲爱的Spring社区,

我们很高兴地宣布 Spring .NET 1.3.1 现已可用。

下载 | 支持 | 文档 | 社区

此版本包含以下主要新功能

  • 用于 WCF 集成的命名空间解析器
  • 核心 DI 功能的初始 ASPNET MVC 2 集成
  • 支持使用 WCF 的 WebServiceHostFactory 进行 DI
  • 原生 .NET 4 编译程序集
  • 在使用 NHibernate 时支持在运行时切换多个数据库
  • 支持 NHibernate 3.0 GA 版本
  • 将 Quartz.NET 支持升级到 1.0.3 版本
  • 将 Apache.NMS.ActiveMQ 支持升级到 1.4.1 版本
  • 超过 100 个错误修复和其他改进

有关更多详细信息,请参阅 更改日志

Spring Data - Redis Support 1.0.0.M1 已发布

发布 | Costin Leau | 2010 年 12 月 13 日 | ...

亲爱的Spring社区,

我很高兴地宣布 Spring Data - Redis Support 1.0 项目的第一个里程碑版本现已可用!Spring Data 项目的主要目标是简化构建使用非关系型数据库、map-reduce 框架和基于云的数据服务等新兴数据访问技术的 Spring 驱动的应用程序。Redis 模块提供了与 Redis 键值存储的集成。

下载 | JavaDocs | 参考文档 | 更改日志

要了解有关该项目的更多信息,请访问 Spring Data 主页

1.0.0 M1 中的功能包括

  • 连接包作为跨多个驱动程序的低级抽象
  • Redis JedisJRedis 驱动程序/连接器的配置支持
  • 异常翻译到 Spring 的可移植数据访问异常层次结构,用于 Redis 驱动程序异常
  • 泛型 RedisTemplate,用于异常翻译和序列化支持
  • 各种序列化策略
  • 原子 计数器 支持类
  • 基于 Redis 的 JDK 集合 实现

Spring Mobile 1.0.0.M2 发布

发布 | Keith Donald | 2010年12月9日 | ...

亲爱的Spring社区,

我们很高兴地宣布,Spring Mobile 项目的第二个里程碑版本现已发布!

Spring Mobile 为 Spring MVC 提供了扩展,有助于开发跨平台移动 Web 应用程序。1.0.0.M2 版本的主要特性是“站点切换器”,它会将移动用户切换到您的移动站点,除非他们已表示偏好您的普通站点。这对于旨在为移动用户提供独立站点的应用程序非常有用。

有关站点切换算法的更多详细信息,请参阅更改日志

要查看站点切换器的实际效果,请查看 lite-showcase 示例应用程序并观看其配套截屏视频

Spring Mobile 1.0.0.M2 Screencast

这个里程碑是前方激动人心之路上的第二个。我们邀请您参与Spring Mobile 的开发,并期待您的反馈!

* Spring Mobile 1.0.0.M2 截屏视频包含乐队 The Smashing Pumpkins 的免费音乐。本截屏视频与 The Smashing Pumpkins 无关,也未获得其认可。

Spring GemFire 1.0.0.M2 for Java and .NET 已发布

发布 | Costin Leau | 2010 年 12 月 8 日 | ...

亲爱的Spring社区,

我们很高兴地宣布 Spring GemFire 1.0 项目的第二个里程碑版本现已可用于 Java 和 .NET!Spring GemFire 项目旨在简化使用 GemFire 作为分布式数据管理平台构建 Spring 驱动的高可伸缩应用程序。

新的里程碑更新包括

  • 对 GemFire 6.5(以及 6.0)的原生支持
  • 针对主要 GemFire 组件的广泛命名空间支持:cache、replicated、partitioned 和 client 区域等
  • 用于仅查找区域的新配置选项
  • 更多文档(是上一个版本大小的两倍)

要了解更多关于该项目的信息,请访问 Spring GemFire 的 主页

立即下载Spring GemFire for Java | Spring GemFire for .NET

我们期待您的反馈!

vFabric Cloud Application Platform 更新

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

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

vFabric tc Server 2.1

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

  • Spring Insight
    随 tc Server 2.1 一起包含的 Spring Insight 在开发和预生产阶段提供了对 Spring 应用程序行为和性能的实时可见性。现在可以持久化应用程序行为的深入实时可见性,以查看跨越先前时间范围的信息。管理和导航的改进使其易于操作并更直观地呈现有用信息。
  • 增强的模板
    一个内置的新模板机制简化了 tc Server 与 vFabric GemFire HTTP Session Management 和 Hibernate Cache Modules 的配置。这使得 vFabric GemFire 能够与 tc Server 2.1 自动启动——无需更改应用程序代码或其他手动干预。

vFabric GemFire 6.5

vFabric GemFire 是现代应用程序的分布式数据管理平台,提供动态可伸缩性、极高的性能和数据库类持久性。两个新模块简化了 GemFire 与 tc Server 和 Hibernate 的集成,为现代应用程序提供复杂的数据管理。Jags Ramnarayan 在他 最新的博客文章中进行了详细介绍,但我们会在此处提供快速概述。

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

vFabric Hyperic 4.5

vFabric Hyperic 是 vFabric Cloud Application Platform 的应用程序管理和监控组件,可为整个虚拟化应用程序堆栈提供完整且连续的可见性。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 LDAP 1.3.1 发布

发布 | Ulrik Sandberg | 2010年11月30日 | ...

亲爱的Spring社区,

我们很高兴地宣布 Spring LDAP 1.3.1 版已发布。这是一个更新版本,添加了一个新的 LDIF 解析库、一个对象-目录映射 (ODM) 框架,并修复了 1.3.0 中的一些问题。下载 | 更新日志

一些更重要变更的摘要

  • 添加了一个对象-目录映射 (ODM) 框架,用于 LDAP 和 Java 对象之间基于注解的映射;类似于 Hibernate 或 JPA,但专门用于 LDAP。感谢 Paul Harvey 的贡献。(文档
  • 添加了一个 LDIF 解析库,可选择与 Spring Batch 集成。感谢 Keith Barlow 的贡献。(文档
  • 扩展了 ContextMapperCallbackHandler,可以向关联的映射器提供指示,表明每个搜索结果的响应都不同。(LDAP-185
  • 现已支持 DIGEST-MD5 SASL 身份验证机制。由 Marvin S. Addison 贡献。(LDAP-173
  • AbstractTlsDirContextAuthenticationStrategy 现在提供了一个设置器,用于自定义用于 TLS 协商的 SSLSocketFactory。(LDAP-180
  • 添加了通过 AuthenticationErrorCallback 提供可能的身份验证异常的身份验证方法。(LDAP-192

在此处获取最新的 Spring LDAP 版本

Ulrik Sandberg 和 Mattias Hellborg-Arthursson,Jayway
Spring LDAP 团队

关于

Spring LDAP 是一个用于简化 LDAP 操作的 Java 库,基于 Spring 的 JdbcTemplate 模式。该框架将用户从常见的繁琐工作中解脱出来,例如查找和关闭上下文、循环遍历结果、编码/解码值和过滤器等等。

LdapTemplate 类封装了传统 LDAP 编程中涉及的所有管道工作,例如创建 DirContext、循环遍历 NamingEnumerations、处理异常和清理资源。这让程序员可以处理重要的事情——在哪里找到数据(DN 和过滤器)以及如何处理它(映射到和从域对象、绑定、修改、解绑等等),就像 JdbcTemplate 将程序员从所有除了实际 SQL 和数据如何映射到域模型之外的工作中解脱出来一样。

除此之外,Spring LDAP 还提供事务支持、一个连接池库、一个对象-目录映射 (ODM) 框架、一个带有 Spring Batch 集成的 LDIF 解析库、从 NamingExceptions 到镜像的未检查异常层次结构的异常转换,以及用于处理过滤器、LDAP 路径和属性的多个实用程序。

Spring LDAP 需要 J2SE 1.4 或更高版本才能运行,并支持 Spring Framework 2.0.x、2.5.x 以及 3.0.x。从源代码构建发行版二进制文件需要 J2SE 1.4 或更高版本。对于 1.2.1 版,从源代码构建时还需要安装 JavaCC 4.0。对于 1.3.x 版则不需要,因为它使用 Maven2,它在后台处理所有此类依赖项。

从何开始

从上面的链接下载分发包。分发包包含详尽的 JavaDoc 文档以及完整的参考文档和示例应用程序,说明了使用 Spring LDAP 的不同方式。

支持

支持可在 Spring LDAP 支持论坛上获得
Bug 报告、增强请求和补丁应提交至 JIRA 问题跟踪器

源代码

源代码可在 Spring Framework Subversion 存储库中获取
http://src.springframework.org/svn/spring-ldap/trunk(最新源代码)
http://src.springframework.org/svn/spring-ldap/tags/spring-ldap-1.3.1.RELEASE(1.3.1 源代码)

Maven 用户

所有生产版本的工件将从中央 Maven 存储库中获取。或者,您可以指定 SpringSource 发布存储库

<repositories>
    <repository>
        <id>spring-release</id>
        <url>http://maven.springframework.org/release</url>
    </repository>
</repositories>

1.3.1.RELEASE 中的依赖项是

<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-core</artifactId>
    <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-core-tiger</artifactId>
    <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-odm</artifactId>
    <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-ldif-core</artifactId>
    <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-ldif-batch</artifactId>
    <version>1.3.1.RELEASE</version>
</dependency>

发布候选版本和里程碑版本可从 Spring Source 里程碑存储库中获取

<repositories>
    <repository>
        <id>spring-milestone</id>
        <url>http://maven.springframework.org/milestone</url>
    </repository>
</repositories>

每夜快照可从 Spring Source 快照存储库中获取

<repositories>
    <repository>
        <id>spring-snapshot</id>
        <url>http://maven.springframework.org/snapshot</url>
    </repository>
</repositories>

1.3.2.CI-SNAPSHOT 的依赖项是
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-core</artifactId>
    <version>1.3.2.CI-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-core-tiger</artifactId>
    <version>1.3.2.CI-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-odm</artifactId>
    <version>1.3.2.CI-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-ldif-core</artifactId>
    <version>1.3.2.CI-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.springframework.ldap</groupId>
    <artifactId>spring-ldap-ldif-batch</artifactId>
    <version>1.3.2.CI-SNAPSHOT</version>
</dependency>

Spring Integration 的 Maven 配置

发布 | Mark Fisher | 2010年11月30日 | ...

依赖

在 POM 的 <dependencies> 部分添加以下内容

<dependency>
   <groupId>org.springframework.integration</groupId>
   <artifactId>spring-integration-core</artifactId>
   <version>2.2.3.RELEASE</version>
</dependency>

这将使“spring-integration-core”模块可用于您的项目(“core”包括消息 API 和企业集成模式支持)。如果您想使用任何适配器或对 XML、Groovy 和/或 Spring Security 的支持,您可以将以下一个或多个作为“artifactId”值添加

  • spring-integration-event
  • spring-integration-feed
  • spring-integration-file
  • spring-integration-ftp
  • spring-integration-groovy
  • spring-integration-http
  • spring-integration-ip
  • spring-integration-jdbc
  • spring-integration-jms
  • spring-integration-jmx
  • spring-integration-mail
  • spring-integration-rmi
  • spring-integration-security
  • spring-integration-sftp
  • spring-integration-stream
  • spring-integration-test
  • spring-integration-twitter
  • spring-integration-ws
  • spring-integration-xml
  • spring-integration-xmpp

注意:以上列出的任何模块都将作为传递依赖项引入“core”模块,因此如果您至少使用其中一个,则无需在 POM 中包含它。此外,一些…

Spring Integration 2.0 GA 发布 (2010年11月)

发布 | Adam Fitzgerald | 2010年11月29日 | ...

如果您错过了,上周 Mark Fisher 宣布 Spring Integration 2.0 已正式发布 (GA)。参考手册中有一个 “Spring Integration 2.0 新特性?” 部分,对于现有 1.0 用户来说是一个很好的起点,并提供了指向手册中详细解释新特性的相关部分的多个链接。Mark 的博客还涵盖了相关的 Maven POM 条目和供社区尝试的 示例应用程序

还有一个题为 “使用 Spring 构建消息驱动的架构” 的近期网络研讨会,其中对 Spring 对 ApplicationEvents、JMS、AMQP、任务执行和调度的支持进行了相当广泛的概述。此外,还演示了许多适配器:REST、SOAP、电子邮件、XMPP 和 Twitter。对于希望在一个小时内尽可能多地了解 Spring Integration 及其在 Spring 平台中的定位的任何人,都强烈推荐观看此次网络研讨会。

下载 | 参考手册 | 网络研讨会 | 论坛 | 问题跟踪器

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有