Spring Tool Suite

工程 | Adrian Colyer | 2007年10月16日 | ...

您可能已经看到了一些 关于 最近 新闻,这些新闻围绕着Interface21宣布与Tasktop合作创建“Spring Tool Suite”的消息。这个套件将汇集Spring IDEAspectJ Development Tools (AJDT)AspectJMylyn,从而为Spring驱动的企业应用程序开发带来一种以任务为中心的方法。我们希望在即将举行的The Spring Experience大会上向您展示集成套件的预览,但在此期间,您将看到许多改进正在融入现有的Spring IDE、AJDT、AspectJ和Mylyn等开源项目…

Gartner 对创新和颠覆的精准洞察

工程 | Neelan Choksi | 2007 年 10 月 12 日 | ...

在上个月的 Gartner 开源大会上,分析师们宣布开源已经渗透到全球软件市场的很大一部分。具体细节在最近的 Matt Asay 博客中得到了强调,该博客引用了 eWeek 文章。eWeek 写道:“开源产品在 2006 年 927 亿美元的软件市场中占 13% 的份额,但到 2011 年,当收入预计达到 1692 亿美元时,将占市场份额的 27%。”

与此同时,Gartner 分析师 Massimo Pezzini 和 Yefim Natis 发布了一份报告,强调了中间件和事务处理市场目前正在发生的重要颠覆。这份发布于 2007 年 9 月 24 日的报告,题为 “平台中间件趋势:颠覆迫在眉睫”,强调了十几个“将颠覆看似静态的应用服务器和事务处理市场”的趋势,并警告说……

我们对待JCP的方法

工程 | Rod Johnson | 2007年9月30日 | ...

正如我之前所发布的那样,Interface21正在参与Java EE 6的努力,我和Juergen Hoeller、Keith Donald、Rob Harrop等团队成员将参与多个专家组。

这意味着我们将更广泛地参与JCP。我们尊重JCP的保密协议和其他规定,因此我们不会谈论任何未公开的信息。然而,我想谈谈我们参与JCP的目标以及我们将带来的根本方法。当然,我们只是众多公司和个人中的一家,所以我们只会…

新的 bean() 切入点

工程 | Ramnivas Laddad | 2007年9月24日 | ...

Spring 2.5 引入了一个新的切入点指示符——bean(),它允许选择名称模式匹配的 bean 中的连接点。现在可以使用自动代理机制以及 Spring-AspectJ 集成来选择特定的 bean,即使存在多个相同类型的 bean。之前,您可以使用 BeanNameAutoProxyCreator 实现类似的结果;但是,该机制不适用于模式样式或 @AspectJ 切面。

除了选择特定的 bean,如果遵循适当的命名约定,这个切入点指示符还提供了两种有趣的方式来选择 bean

  1. 选择 bean 的垂直切片:如果您遵循 bean 名称包含指示其业务角色字符串的约定,则 bean() 切入点可以根据其业务角色选择 bean。例如,如果您遵循 bean 名称以表示其业务功能的字符串开头的约定,则可以使用 bean(account*) 切入点选择所有与会计相关的 bean,例如 accountRepositoryaccountServiceaccountController
  2. 选择 bean 的水平切片:如果您遵循 bean 名称包含指示其架构角色字符串的约定,则 bean() 切入点可以根据其架构角色选择 bean。例如,如果您遵循 bean 名称以表示其架构角色的字符串结尾的约定,则可以使用 bean(*Repository) 选择所有存储库 bean。如果没有 bean() 切入点,您必须依赖包结构或基于类型的切入点,这有时可能有点过于严格。
The bean() Pointcut Designator

图 1:使用 bean() 切入点根据 bean 名称选择 bean 的水平和垂直切片

此切入点代表 AspectJ 切入点表达式语言的 Spring 特定扩展,因此仅在基于 Spring 的应用程序中有用。名称模式遵循 AspectJ 的名称模式匹配规则,其中 '*' 是唯一允许的通配符。下表显示了一些示例切入点及其选择的 bean。
切入点 选择的连接点
bean(accountRepository) 名为“accountRepository”的 bean
!bean(accountRepository) 除“accountRepository”bean 之外的任何 bean
bean(*) 任何 bean
bean(account*) 名称以“account”开头的任何 bean
bean(*Repository) 名称以“Repository”结尾的任何 bean
bean(accounting/showaccount) 名为 accounting/showaccount 的 bean(例如,指定处理该 URL 的控制器)
bean(accounting/*) 名称以“accounting/”开头的任何 bean(例如,指定处理与会计相关的 URL 的任何控制器)
bean(accounting/*/edit) 名称以“accounting/”开头并以“/edit”结尾的任何 bean(例如,指定处理与会计相关的编辑操作功能的任何控制器)
bean(*dataSource) || bean(*DataSource) 名称以“dataSource”或“DataSource”结尾的任何 bean
bean(service:name=monitoring) 名为“service:name=monitoring”的 bean

关于开源的更多废话

工程 | Rod Johnson | 2007年9月22日 | ...

在题为“关于Interface21的废话”的文章中,一位SourceLabs的员工不同意我的观点,即提交权限对于提供可信赖的开源支持是必要的。

在我回复之前:我想再次明确说明我已经在上一篇博客中说过的话,但似乎被一些人误解了:Interface21无意阻止他人从Spring赚钱。我们的过往记录证明了这一点。我们欢迎其他人撰写有关Spring的文章和提供Spring服务。或者基于Spring开发产品,例如Matt Raible的AppFuse。我们祝他们成功。Spring在一定程度上已经…

回复关于开源的谬论

工程 | Rod Johnson | 2007年9月20日 | ...

几个月前,我关于开源商业模式的博客似乎引起了共鸣。我收到了许多积极的回应,并因此收到了一个名为“软件是如何构建的”网站的采访请求。我的采访在这里

终于,OpenLogic 的一个人发表了一个有趣的回复。Bryan Noll 在我博客的回复中留下了一些评论,值得认真回应。

首先,我认为您认为,当对某个特定项目没有真正投入的人提供支持时,这对项目或开源整体而言是不健康的,这是一个有趣的观点……我以前从未听过。我认为这个观点有足够的有效性,足以让像我们这样的公司认真考虑并真正审视我们对所支持的开源项目的责任。在我看来,这项审查的结果将是一项可证明的政策,OpenLogic 将以此来减轻您提出的潜在担忧。我当然不知道具体会是什么,所以请允许我此刻保持模糊。不过,这恰好又引出了我与您观点中的一些问题。
我认为要找到这样一项“可证明的政策”应该很简单。OpenLogic 需要理解,Stormy 的帖子中的开场白“开发人员从事开源软件工作通常有报酬丰厚的工作……所以他们免费从事开源软件工作,白天为巨额报酬编写代码”在很大程度上是错误的。它需要理解他们希望从中获利的开源软件来自何处,进行适当的合作,并设定一个允许真正支持的价格。另一种选择是停止声称提供企业支持,并明确表示所提供的是一种随叫随到的开发协助,但不能保证能够解决关键问题。这就回到了我为什么对 Stormy 的帖子有如此强烈的感受并对其进行解构。

我将聚合模型视为超市式的业务。当我光顾超市时,我期望他们会从我购买的每件商品中抽取(一小部分)利润,以换取他们处理众多供应商并将所有…

Maven 构件 (09/2007)

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

到目前为止,Spring Portfolio 的 Maven 构件,特别是快照,创建得不一致,并且散布在各种位置。在过去的几周里,我们一直在努力使项目在创建和上传这些构件时更加一致。

Maven 仓库

Spring Portfolio 中对 Maven 支持最有效的改进之一就是使用一致的仓库位置。根据您对代码的熟悉程度,有三种不同的仓库。

发布仓库

对于任何最终发布(Spring 2.5、Spring Web Flow 2.0 等),该发布的 Maven 构件将上传到 Maven Central 仓库(http://repo1.maven.org/maven2)。使用此仓库无需您付出任何努力,因为 Maven 会自动在此处查找构件。

此仓库中的构件确实遵循预期的仓库行为,并且不会(也不能)被删除。

里程碑仓库

对于任何里程碑发布(Spring 2.5-RC1、Spring Web Flow 2.0-M2 等),该发布的 Maven 构件将上传到 Spring 里程碑仓库(http://s3.amazonaws.com/maven.springframework.org/milestone)。使用此仓库需要您在 POM 文件中向 <repositories/> 元素添加条目。它应该看起来像这样:


<repository>
    <id>spring-milestone</id>
    <name>Spring Portfolio Milestone Repository</name>
    <url>http://s3.amazonaws.com/maven.springframework.org/milestone</url>
</repository>

此仓库中的构件遵循预期的仓库行为,并且会被定期删除。在最终版本(Spring 2.6、Spring Web Flow 2.1 等)发布后,上一版本构件的所有里程碑版本将被删除。例如,当 Spring 2.6 发布时,Spring 2.5 的里程碑将被删除,而 Spring 2.6 的里程碑将被保留。

快照仓库

对于任何快照构建(Spring 2.5-SNAPSHOT、Spring Web Flow 2.0-SNAPSHOT 等),该构建的 Maven 构件将上传到 Spring 快照仓库(http://s3.amazonaws.com/maven.springframework.org/snapshot)。使用此仓库需要您在 POM 文件中向 <repositories/> 元素添加条目。它应该看起来像这样:


<repository>
    <id>spring-snapshot</id>
    <name>Spring Portfolio Snapshot Repository</name>
    <url>http://s3.amazonaws.com/maven.springframework.org/snapshot</url>
</repository>

此仓库中的构件遵循预期的仓库行为,并且会被定期删除。对于给定的构件,至少会保留最近的 10 个快照构建。如果一个构件从分发版中删除,其快照构建将立即被删除。在里程碑或最终版本发布时,将删除构件的所有快照,并创建一个新快照用于下一个版本。

仓库浏览

里程碑和快照仓库都托管在亚马逊的 S3 服务上,因此目录结构不便于人类阅读。要以人类可读的格式查看仓库,请使用S3Browse 工具。

仅将这些 URL 用于人类可读的查看。如果将它们用作 POM 的 URL,您将遇到错误。

构件源代码

另一个重要的改进是为所有发布添加了源代码构件。您会注意到在里程碑仓库中,所有构件都附带了源代码。在未来,所有最终发布也将如此。具体来说,从 Spring 2.5 发布开始,除了 Spring 组合源代码外,每个模块还将拥有一个源代码构件。

Spring 快照

最后一个改进尚未完成;Spring 的夜间快照。我很乐意地说,这即将完成。我仍在解决与Maven Ant Tasks 相关的最终细节问题,但这最终会开始出现,届时我将再次宣布。此外,您可以期望此功能最终会推广到所有其他基于 ANT 的 Spring Portfolio 项目,以便所有项目都能创建 Maven 快照和里程碑。

Spring Framework 2.1 演变为 Spring Framework 2.5!

工程 | Juergen Hoeller | 2007年9月10日 | ...

我的第一篇博文——这是一个多么重大的公告:-)

在一系列 Spring 2.1 里程碑发布之后,我们一直在审查我们引入的整体功能集

  • 完整的Java 6 和 Java EE 5 支持(JDBC 4.0、JTA 1.1、JavaMail 1.4、JAX-WS 2.0 等)
  • 功能齐全的注解驱动的依赖注入(包括对“qualifier”注解的支持)
  • 支持类路径中的组件扫描(自动检测带注解的类)
  • AspectJ 切入点表达式中的bean 名称切入点元素
  • 内置支持AspectJ 加载时织入(基于 Spring 的 LoadTimeWeaver 抽象)
  • 更多的 XML 配置命名空间(“context”、“jms”)以获得最大的便利性
  • 扩展的 SimpleJdbcTemplate 功能(支持命名参数等)
  • 官方认证的 WebSphere 支持(支持 WebSphere 6 UOWManager 功能等)
  • Spring Framework jar 开箱即用,都是符合 OSGi 的 bundle
  • Spring ApplicationContext 可以部署为 JCA RAR 文件(用于无头应用程序模块)
  • JCA 1.5 消息端点管理(用于 Spring 管理的 JMS 和 CCI 消息监听器)
  • 完全修订的集成测试框架(支持 JUnit 4 和 TestNG)
以及许多细节方面的改进。几乎所有这些功能都已包含在最近发布的 2.1 M4 中。

我们得出结论,这已远远超出了我们最初为 Spring 2.1 制定的计划。版本号 2.1,正如在里程碑中所使用的,并不能反映此主要版本功能的重要性和全面性。

因此,我很高兴地宣布,2.1里程碑将无缝地转变为Spring Framework 2.5作为下一个主要版本! Spring 2.5的最终发布计划在…

Interface21 在国会证词中被提及

工程 | Rod Johnson | 2007 年 9 月 8 日 | ...

Interface21 国会证词中被提及

风险投资家兼 Core Capital Partners 创始人 Jonathan Silver 于周四就拟议的针对风险投资家税率的变更作证。他的论点之一是,风险投资支持的公司在美国各地创造了就业机会

下一个重要企业将从哪里来?事实是,没有人知道,这就是为什么风险资本家在全美各地寻找机会。这也是为什么风险基金支持了纽约市的 Music Nation、安娜堡的 Incept Biosystems、佛罗里达州西墨尔本的Interface21、马萨诸塞州韦斯特伯勒的 Boston Power 以及德克萨斯州圣安东尼奥的 Click Forensics。

实际上,我们的总部将迁往加利福尼亚州圣马特奥。与许多软件供应商一样,我们认为硅谷是实现我们潜力的最佳地点。我们的合作伙伴集中在此,并且是招募软件行业高管人才的绝佳场所。然而,Silver的观点仍然有效。我们确实在佛罗里达州创造了就业机会——我们的Web团队在那里,并且目前正在在Spring Web Flow方面做着伟大的事情

阿姆斯特丹 Java 聚会 Q307,9 月 21 日

工程 | Alef Arendsen | 2007 年 8 月 2 日 | ...

又到了下一次 Java 聚会的时间了。我决定将这个在阿姆斯特丹每季度举行一次的活动的第七期推迟到夏天之后,因为荷兰的大多数人会在八月左右休几周的假。

我已经查看了我们的内部日程安排,看来 9 月 21 日是 9 月份剩下的唯一一天,所以我希望它也适合其他人的日程安排。

我们将在与去年四月聚会相同的地点举行,因为这对我们来说非常方便,而且大家似乎都对此表示满意。第一次 Java 聚会是在我最喜欢的阿姆斯特丹聚会场所举行……

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有