Spring 和 Maven 后续

工程 | Ben Hale | 2006年9月18日 | ...

关于我最近关于 Spring 和 Maven 的公告,已经有很多讨论这些讨论都非常有益且值得重视,但我确实想澄清我提出的一些观点。

首先也是最重要的一点,我们致力于支持使用 Maven 作为其首选构建系统的 Spring 用户。这意味着我们将帮助确保在每次 Spring 发布(从 Spring 2.0 RC4 开始)时,Maven 存储库中都提供准确的 POM 文件。这就是世界上最受欢迎的 JIRA 问题 的全部内容。仅此而已。

Spring 自身内部构建系统的话题是一个……

Spring 2.0 发布候选版本 4 发布

发布 | Juergen Hoeller | 2006年9月17日 | ...

我们很高兴地宣布 Spring 2.0 RC4 已经发布。 下载 | 文档 | 变更日志

这是 Spring 2.0 正式版之前的最后一个发布候选版本。RC4 包含许多进一步的错误修复和各个领域的改进,以及次要的新功能(例如在 JMS 支持中)。请查看变更日志和JIRA 问题列表以了解所有详细信息。最值得注意的更改包括……

新增和值得关注的功能

  • 此版本为 2.0 DTD 和 XSD 引入了版本化文件名。如果您的 bean 定义文件基于 2.0 XSD 或 2.0 特定的 DTD 功能,请调整您的 bean 定义文件。例如

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="
                http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    <!-- 在此处定义您的 bean -->

</beans>

  • 正如您所料,Spring 1.2 DTD 在其已建立的 spring-beans DTD 文件名下仍然完全受支持。
  • 现在,我们支持的每个架构都对 2.0 XML 配置元素和属性进行了全面记录。特别感谢 Rick Evans 为此做出的贡献。
  • 从本版本开始,不再随核心 Spring 发行版一起提供 Apache OJB 支持(org.springframework.orm.ojb)。它现在可从Spring Modules 项目获得。
  • Spring 的 JPA 支持现在已针对 Oracle TopLink Essentials v2 b16 和 Hibernate EntityManager 3.2.0 CR2 进行了全面测试。我们广泛的集成测试套件现在都通过了这两个 JPA 提供程序的测试。我们目前正在以同样的方式涵盖 OpenJPA。

我们期待您对本版本的反馈。

祝好!

Juergen Hoeller
Spring Framework 开发负责人

Spring 2.0 RC4 发布:关于 DTD/模式重命名和作用域属性的提示

工程 | Colin Sampaleanu | 2006年9月17日 | ...

Spring Framework 2.0 RC4 已发布。这是 Spring 2.0 正式版之前的最后一个发布候选版本,您可以从发布公告本身以及JIRA 问题列表中了解有关此版本的更多信息,该列表包含此版本中所有更改的完整列表。

可能最需要注意的是,此版本为 2.0 DTD 和模式 (XSD) 引入了版本化的文件/位置名称。这是必要的,因为 2.0 版的 XML bean 定义格式得到了显著增强,但 1.2.x 用户仍然需要能够引用 1.2.8 DTD。以下是如何使用 2.0“beans”模式的示例(2.0 版还附带许多其他新模式,表示各种特殊的命名空间……

是的,我知道它现在是 JIRA 中投票最多的问题!

工程 | Ben Hale | 2006年9月15日 | ...

你能猜到是什么吗?如果你猜到是 Spring 的Maven 包/构建,你赢了。12 月来参加Spring 体验大会,我们将分享一杯冰镇饮料作为你的奖品。

我的过错

在我过去的职业生涯中,我做了很多配置管理和构建系统的工作。当我开始在 Interface21 工作时,我立即自告奋勇尽可能多地帮助构建基础设施。接下来我才知道,我获得了 Spring 和 Spring Web Flow 中与 Maven 相关的每一张工单。然后由于我对 JIRA 的漫不经心态度,我让这个问题变得越来越严重。在过去的几个月里,关于 Spring 和 Maven 的事情确实有所进展;我本应该在 JIRA 中发布这些信息,但我没有。这导致在过去几天里,主要 JIRA 问题中出现了一些合理的抱怨。因此,为了让大家了解最新情况,以下是当前状态。

状态

对于那些在过去几个月里对 Spring 2.0 和 Maven 感到绝望的人来说,你们很快就会摆脱这种感觉。Spring 社区已决定逐步将所有 Spring 项目转换为 Maven。正如你可能知道的,Acegi 很久以前就开始使用 Maven 了。Spring-WS 项目最近也完成了转换。我个人已经为Spring Web Flow 的转换创建了原型,并且大家普遍同意 Spring 也将迁移。

也就是说,现在还不到庆祝的时候。转换最后两个项目(Spring 和 Spring Web Flow)并非易事(如果你不相信我,看看《使用 Maven 构建更好的项目》)。因此,转换并不是我们在即将发布 2.0 和 1.0 主要版本时真正想做的事情。我可以告诉你的是,转换的目标安排在发布之后。

那么计划是什么呢?

实际上很简单。对于 Spring 和 Spring Web Flow,我将在接下来的几周内手动构建带有依赖项列表的 POM 文件。目前计划是在 Spring 和 Spring Web Flow 的最终版本中发布这些 POM 文件。发布之后,在 Arjen 的帮助下,我将协助 Juergen 和 Keith 将他们的源代码树转换为 Maven 构建,并在 Continuum 中运行这些构建。

那么在此期间,我(用户)可以做什么呢?

首先是要耐心等待。我们在这个问题上保持沉默这么久是我的错,希望这篇帖子能让我们对我们的思路更加透明。其次,我很乐意得到你们的帮助进行测试。我的计划是在我工作时将试用 POM 文件签入 CVS 和 SVN,并在JIRA 问题中宣布已进行更改。正如你所猜到的那样,手动创建 POM 文件很容易出错(这是转向 Maven 构建的一个主要驱动因素),所以我非常希望得到一些帮助来测试它们。JIRA 中的评论、论坛 中的帖子以及开发者邮件列表 中的帖子都是提供反馈的好途径。

你还想知道其他什么?

再说一次,我希望这有助于减轻社区的一些挫败感,并让你了解我们未来的方向。当然,欢迎对当前计划提出任何意见(此处评论将是一个很好的地方),但我还想了解你是否还有其他让你感到沮丧的问题。如果你在下面留言或直接给我发邮件,我会尽力给你一个好的答案,并将其发布在这里的博客上或通过电子邮件亲自回复你。

Spring OSGi 支持势头增强

工程 | Adrian Colyer | 2006年9月7日 | ...

它最初是一件小事。只是我的一种直觉,认为 Spring 和 OSGi 应该非常适合在一起。其想法是,通过使 Spring 应用程序能够部署在 OSGi 运行时中,我们可以为 Spring 应用程序带来更好的模块化、版本控制、运行时部署和更新功能。这是一个我从未真正宣传过的项目;我只是开始尝试、与一些人交谈并编写一些早期的原型代码。

事实证明,很多人似乎对 Spring 和 OSGi 感兴趣。我们正在与来自 BEA、Oracle、IBM、Eclipse、OSGi 联盟和许多其他公司的代表合作,以构建一个共享模型,说明 Spring 对 OSGi 的支持应该是什么样子,以及我们如何才能轻松地在 OSGi 运行时上构建企业应用程序。最新版本的规范已附加到Spring JIRA 问题 1802。这是一个指向规范文本的直接链接……

Spring 2.0 中的 Before Advice

工程 | Ben Hale | 2006年9月5日 | ...

正如你们大多数人所知,Spring 2.0 的一项重大改进是增加了 AspectJ 切点语言以及与 AspectJ 的更好集成。虽然我认为每个人都相信从长远来看这将是一个巨大的好处,但这导致了一些问题。我们发现,Spring AOP 一直具有的某些行为,AspectJ 从未有过。

出现的一个重大问题是 Before advice 的行为。如果您在 Spring 1.x 中使用过 Spring AOP,您可能知道 Spring 允许您在参数传递给目标之前更改参数值……

Spring 标准化数量不断增加

工程 | Steven Schuurman | 2006年8月29日 | ...

Spring——将长期存在 我拜访了许多客户,并且每天都会与更多客户交谈。这包括现有 Interface21 客户以及对我们遍布欧洲的产品和服务感兴趣的公司。我注意到在我进行的对话中出现了一个反复出现的主题:Spring 出现了,并且将长期存在。

在过去的一年中,我见证了高管层做出的决策,这些决策使 Spring 贯穿了领先的企业 Java 开发公司。就在两周前,我问我的一个客户——欧洲最大公司之一的 Java 部门经理……

创建 Spring 2.0 命名空间?使用 Spring 的 AbstractBeanDefintionParser 层次结构。

工程 | Ben Hale | 2006年8月28日 | ...

最近我一直在专注于创建Spring XML命名空间。为了找到创建解析器的良好模式,我进行了大量的尝试和错误(在XSD和Spring方面)。我遇到的最大的困惑之一是`AbstractBeanDefinitionParser` 层次结构。目前这部分文档还不完善(但有一个JIRA问题跟踪,所以会在GA发布前修复),所以我将向你介绍你的选择、它们的用途以及使用方法。

AbstractBeanDefinitionParser 选择

Spring提供了三个主要的`BeanDefinitionParser` 来帮助你解析XML命名空间。

我将从最具体的开始,逐步介绍最通用的,以展示如何在需要时获得更多功能。如果你想跳过示例并查看摘要,请查看此处

Spring LDAP 1.1 发布

发布 | Mattias Arthursson | 2006年8月28日 | ...

尊敬的Spring社区:

我们很高兴地宣布Spring LDAP 1.1版本已发布。这是该库作为Spring Framework子项目的第一个版本。下载 | 文档 | API

关于Spring LDAP
Spring LDAP是一个Java库,用于简化LDAP操作,基于Spring的JdbcTemplate模式。该框架使用户无需处理查找和关闭上下文、循环遍历NamingEnumerations、编码/解码值和过滤器等繁琐工作。

LdapTemplate类封装了传统LDAP编程中涉及的所有底层工作,例如创建、循环遍历NamingEnumerations、处理异常和清理资源。这使得程序员可以处理重要的事情——在哪里查找数据(DN和过滤器)以及如何处理数据(映射到和来自域对象、绑定、修改、解绑等),这与JdbcTemplate只处理实际SQL和数据如何映射到域模型的方式相同。

此外,Spring LDAP还提供将NamingExceptions转换为DataAccessExceptions的异常转换,以及用于处理过滤器、LDAP路径和属性的多个实用程序。

Spring-LDAP需要J2SE 1.4。构建需要J2SE 1.4。运行示例需要J2EE 1.4(Servlet 2.3,JSP 1.2)。

从哪里开始
从上面的链接下载发行版。发行版包含详尽的JavaDoc文档以及完整的参考文档和一个示例应用程序,演示了使用Spring LDAP的不同方法。

主页
Spring LDAP的永久主页位于http://www.springframework.org/ldap

历史
Spring LDAP基于SourceForge LdapTemplate项目。建议LdapTemplate用户切换到Spring LDAP。

Mattias Arthursson & Ulrik Sandberg
Spring LDAP项目团队

验证逻辑(以及我的第一篇文章!)

工程 | Colin Yates | 2006年8月25日 | ...

大家好!

这是我上个月加入Interface21后的第一篇文章。我的之前的博客现在正式弃用,我不会再更新了。

那么我的第一篇文章的主题是什么呢?(除了自我介绍)验证逻辑。它不会详细介绍如何在Spring框架中执行验证,而是会讨论我个人特别讨厌的一个问题 :)

特别是,我想讨论验证逻辑中究竟应该包含什么。答案似乎显而易见;“验证指定数据的逻辑”。好吧,这的确是显而易见的,但请继续阅读 :)。如你所知,Spring框架通过ErrorsValidator接口提供了一个很好的验证抽象层。特别是Validator是你将你的业务特定验证规则应用于已填充的域对象的地方。Spring优秀的绑定支持负责更新你的域模型……

获取Spring新闻通讯

通过Spring新闻通讯保持联系

订阅

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部