Spring 3 类型转换和验证
Spring 3 最终版本即将发布,它将是一个很棒的版本。在这篇博客文章中,我将带您了解 Spring 3 的一些类型转换和验证增强功能。无论您是开发传统的 Web 应用程序、桌面应用程序还是“下一代”RIA,数据绑定、类型转换和验证都是重要的领域。正如您在这篇文章中将看到的,Spring 3 在这些领域为您带来了显著的升级,同时保持了与以前版本的向后兼容性。
新系统目标
在我介绍功能之前,我想首先强调……
Spring 3 最终版本即将发布,它将是一个很棒的版本。在这篇博客文章中,我将带您了解 Spring 3 的一些类型转换和验证增强功能。无论您是开发传统的 Web 应用程序、桌面应用程序还是“下一代”RIA,数据绑定、类型转换和验证都是重要的领域。正如您在这篇文章中将看到的,Spring 3 在这些领域为您带来了显著的升级,同时保持了与以前版本的向后兼容性。
在我介绍功能之前,我想首先强调……
我们都喜欢用最新最好的技术构建应用程序,但归根结底,我们是为了交付实现业务目标的应用程序而获得报酬的。我们在每个开发迭代中都专注于如何最好地实现这些目标,但我们如何知道最新的迭代是否实现了其目标?最新的版本是否影响了应用程序正在实现的现有业务目标?
SpringSource 通过提供 Spring 仪表化工具来让您深入了解应用程序,这些工具可以显示趋势并生成报告,从而让您能够导出...
来自 Arjen Poutsma 的 twitter feed:Spring 3.0.0.RC2 现已发布。此候选版本包含了大量社区成员反馈的缺陷修复,并已更新以支持 JSR-330 “javax.inject” 和 JSR-303 “javax.validation” API 的最终版本。
下载 | 文档 | Javadoc API | 变更日志 | JIRA
我很高兴地宣布,今天我们发布了第二个 Spring 3.0 发布候选版(下载页面)。此版本在几个方面对 RC1 进行了关键改进,特别是在以下方面:
Spring 3.0 RC2 完全符合 JSR-330 标准,并通过了 TCK 的最终版本。JSR-330,也称为“Java 依赖注入”,基本上标准化了带有限定符模型的 @Inject 注解。现在可以使用“javax.inject”注解作为 Spring 自有的 @Autowired 和 @Qualifier 注解的替代。Spring 的 <context:annotation-config> 元素也会自动激活 JSR-330 处理(如果存在“javax.inject”API)。
专用的 AnnotationConfigApplicationContext:使程序化引导尽可能方便,无需任何 XML。支持带注解类的显式注册以及类路径中的组件扫描。这不仅适用于 Spring 的 @Component 模型,也适用于 @Configuration 类(又名“JavaConfig”)和符合 JSR-330 的类。
…今天 SpringSource 发布了 SpringSource Tool Suite (STS) 的更新版本,这是用于构建 Spring、Groovy 和 Grails 驱动的企业应用程序的最佳 Eclipse 集成开发环境。最新版本 (2.2.1) 现已可供 下载,其中包括
我们希望您喜欢使用 STS,请使用 社区论坛 提供您的反馈和提问。
Spring Batch Admin 提供了一个基于 Web 的用户界面,其中包括一个用于 Spring Batch 应用程序和系统的管理控制台。这是 SpringSource 的一个新开源项目。里程碑版本 1.0.0.M1 将很快发布,包含以下所有功能,我们希望在 2010 年初实现 1.0.0 正式版发布。
用户可以检查系统中已知的作业。作业分为可启动和不可启动(在屏幕截图中,它们都是可启动的)。区别在于,可启动作业是在应用程序本身中定义和配置的,而不可启动作业是通过另一个进程中作业的执行所留下的状态检测到的。(Spring Batch 使用关系数据库来跟踪作业和步骤的状态,因此可以查询历史执行以显示不可启动的作业。)
可以通过用户界面启动可启动的作业,通过提供的名称-值对的作业参数,或者通过应用程序中配置的增量器来启动。
一旦作业开始执行或已执行完毕,此视图即可用于查看最近的执行情况,以及其状态(已启动、已完成、失败等)的简要摘要。
每个单独的执行都有一个更详细的视图(如上所示),并且用户可以从中进一步点击进入作业中每个步骤的执行视图(在此例中只有一个)。希望执行此操作的一个常见原因是查看失败的原因。
步骤执行详细视图的顶部显示了此步骤在所有作业执行中的历史执行情况。这有助于获得性能特征的统计感觉。在集成测试环境中运行作业的开发人员可能会使用此处的统计数据来比较作业的不同参数化,以了解更改(例如)项目处理步骤中的提交间隔会产生什么影响。
步骤视图的底部包含步骤的详细元数据(状态、读取计数、写入计数、提交计数等),以及任何导致步骤失败的异常的堆栈跟踪摘录(如上例所示)。
用户可以停止正在执行的作业(无论其是否可启动)。停止信号通过数据库发送,一旦 Spring Batch 在运行该作业的任何进程中检测到,该作业就会停止(状态从 STOPPING 变为 STOPPED),并且不再进行进一步的处理。<repository>
<id>spring-snapshots</id>
<name>Spring Maven Snapshot Repository</name>
<url>http://s3.amazonaws.com/maven.springframework.org/snapshot</url>
</repository>
有两个 JAR 工件和一个 WAR 示例(org.springframework.batch:spring-batch-admin...
感谢其他 SpringSource 项目团队的努力,我们很高兴看到三款开发工具与 Cloud Foundry 集成,即 SpringSource Tool Suite、Grails 和 Roo。其结果是,您可以创建和开发您的 Spring 或 Grails 应用程序,并在云中运行它们,而无需离开您喜欢的 IDE 或命令行界面。这些工具利用 Cloud Foundry 客户端 Web 服务 API(即将发布),并利用云中额外的智能和 SpringSource 工件存储库,实现优化、高效的上传……
dm Server 2.0.0.M6 现已发布,可从此处下载。
此版本紧随 M5 版本发布,我们正逐步接近第一个 2.0.0 候选版本。这一次,我们非常注重修复未解决的缺陷,并且只添加了少量新功能。请查看 M6 发布说明,了解我们修复的所有缺陷和添加的功能的完整详细信息。请继续在我们的博客评论区、论坛和 JIRA 上提供您的反馈。
UNIX 用户更容易,因为$HOME/bin/service目录包含许多init.d兼容……
这是一个截屏视频,展示了 dm Server 的 dm Admin Console。它简要介绍了 dm Admin Console,然后通过部署一个简单的演示应用程序来展示一些功能。该应用程序由一个配置文件、一个 Web 捆绑包和一个内容捆绑包组成。部署后,应用程序只需在 Web 浏览器中显示配置文件的内容。为了本次演示的目的,应用程序分部分安装,实际上您会使用“par”或“plan”将应用程序组合在一起,要了解如何使用“plan”文件完成此操作,另一个截屏视频是……
我们很荣幸地向 Spring 社区推出一款新工具,该工具可帮助他们更快地将应用程序投入生产:tc Server Developer Edition 是您所熟悉和喜爱的标准 100% Tomcat,再加上一个新的 Spring Insight 控制台。
Spring Insight 针对每次请求提供对应用程序实际活动的深入可见性。对于任何请求,您都可以查看它进行的所有 JDBC 查询、渲染所花费的时间,或任何主要 Spring Bean 的时间。
当您单独查看特定请求时,这种细粒度信息非常宝贵,但它可能……