我们为何融资 1000 万美元?

工程 | Rod Johnson | 2007 年 6 月 6 日 | ...

您可能已经听说,Spring 背后的公司 Interface21 最近融资了 1000 万美元。考虑到我们已经成立了近 3 年,并取得了许多成就,您可能会感到好奇这是为什么。

我们为何融资?以及我们将用这笔钱做什么?

在过去的两年里,我们建立了一支优秀的团队。Juergen Hoeller、Adrian Colyer、Keith Donald、Colin Sampaleanu、Mark Pollack、Ben Alex、Rob Harrop…… 开始列出这个名单令人有些害怕,因为我知道我无法将公司里所有有才华的技术人员都包括进去,而且我也不想暗示任何功绩排序……

Eric Evans 将在 @SpringOne 发表演讲!

工程 | Steven Schuurman | 2007 年 6 月 6 日 | ...

再来一次 距离首次讨论举办一个专门为不断壮大的 Spring 社区而设的欧洲大会,已经过去了两年多。在 JavaPolis 2005 上宣布第一届 SpringOne (2006) 后,有超过 400 人报名参加会议——比我们预期的多出 20% 以上。SpringOne 2006 取得了巨大的成功。

由于我们收到大量关于 2006 年大会的积极反馈,许多与会者对会议高度关注 Spring 和企业级 Java 给予了非常积极的评价,我们在大约 7 个月前决定组织 2007 年的会议。因此……

更多关于 Java 配置的信息

工程 | Costin Leau | 2007 年 6 月 5 日 | ...

正如你们大多数人现在所知,Spring 不仅限于 XML,最近,一些对核心的“官方”扩展提供了配置容器的替代方式。

Spring Java Configuration 1.0 M2 是 JavaOne 期间发布的产品之一,虽然仍标记为里程碑版本,但包含重要的更新和错误修复

  • 根包已更改为 org.springframework.config.java
  • <li>scoped beans are fully supported</li>
    
    <li>the bean name generation can be customized</li>
    
    <li>the distribution contains a 'transformed' sample (petclinic) which uses XML, JavaConfig and Groovy.</li>
    

事实上,1.0 M2 的大部分工作是整合了对初始公告收到的反馈……

Spring: 简单,而非肤浅……

工程 | Alef Arendsen | 2007 年 6 月 5 日 | ...

在上周的一次培训中,我第一次使用了 Spring Web Services 的第一个 Release Candidate 版本。距离 Arjen 发布他宝贵的 RC1 版本才过去两周,所以向一些学员展示这个新产品非常棒。

在 Web 服务部分之前,我们做了一点 JMX 和远程调用,展示了 Spring 的导出器功能。正如您可能知道的,这允许您将任何 Spring 管理的 bean 导出到远程端点或 JMX 注册表,只需非常少量的声明式配置即可


<bean id="myService" class="com.mycompany.MyServiceImpl">
    <property name…

Spring 2.1-m2 中的基础设施变更

工程 | Ben Hale | 2007 年 6 月 1 日 | ...

随着 Spring 2.1-m2 的发布,Spring 发行版的基础设施发生了一些重大变化。请参阅公告变更日志以获取完整的更改列表。

分发

发行版已从 2.1-m1 的 26 个 JAR 文件精简到 2.1-m2 的 17 个 JAR 文件。请查看变更日志以获取更改的文件列表,但从提交消息中可以看出,以下是新增内容
  • spring-context.jar 现在包含 JMX 支持和核心远程调用支持(不再有 spring-jmx 和 spring-remoting jar)
  • spring-orm.jar 合并了所有 ORM 支持包(取代了 spring-hibernate、spring-ibatis、spring-jdo、spring-jpa 和 spring-toplink jar)
  • spring-web.jar 包含 Web 相关的远程调用和 ORM 类(适用于 J2EE EAR 部署结构)
  • spring-dao.jar 重命名为 spring-tx.jar,现在也包含 JCA 支持
  • spring-support.jar 重命名为 spring-context-support.jar
  • spring-portlet.jar 重命名为 spring-webmvc-portlet.jar
  • 模块 jar 文件现在包含模块特定的 "spring.handlers" 和 "spring.schemas" 文件

Maven Artifacts

我也很高兴地宣布,从 2.1-m2 版本开始,每个 Spring 模块现在都将在 Maven 仓库中包含源代码 jar。2.1-m2 Maven artifacts 目前位于私有快照仓库中,但最终发布版本将进入主 Maven 仓库。如果您想在 Maven 项目中开始使用 2.1-m2,请在您的 POM 中添加一个指向 https://springframework.svn.sourceforge.net/svnroot/springframework/repos/repo-snapshots/ 的仓库位置。如果您正在使用任何 Maven IDE 支持,也请下载源代码 jar 并在我们的 JIRA 提交任何相关问题。

在 Spring 2.1 中定制注解配置和组件检测

工程 | Mark Fisher | 2007 年 5 月 29 日 | ...

注意:此帖子已于 2007 年 5 月 31 日更新,以反映 2.1-M2 官方版本的状态

两周前,我写了一篇博文,介绍了 Spring 2.1 新的注解驱动的依赖注入功能,我提到会“本周晚些时候”提供更多信息。事实证明我有点过于乐观了,但好消息是此功能在此期间已经有了不少演进。因此,要按照这里的示例进行,您需要下载 2.1-M2 官方版本(或者如果您是第一批阅读此更新条目的人,并且 M2 尚未发布,您应该至少下载夜间构建版本 #115,可在此处下载)。

我想展示的第一件事是如何在不使用任何 XML 的情况下创建一个应用上下文。对于使用过 Spring BeanDefinitionReader 实现的用户来说,这将看起来非常熟悉。然而,在创建上下文之前,我们需要类路径上有一些“候选”bean。继续我之前博客中的示例,我有以下两个接口


public interface GreetingService {
	String greet(String name);
}

public interface MessageRepository {
	String getMessage(String language);
}

...以及相应的实现


@Component
public class GreetingServiceImpl implements GreetingService {

	@Autowired
	private MessageRepository messageRepository;
	
	public String greet(String name) {
		Locale locale = Locale.getDefault();
		if (messageRepository == null) {
			return "Sorry, no messages";
		}
		String message = messageRepository.getMessage(locale.getDisplayLanguage());
		return message + " " + name;
	}
}

@Repository…

会议季临近 SpringOne!

工程 | Rod Johnson | 2007 年 5 月 28 日 | ...

很久没有时间写博客了。我们一直很忙。我们融资了 1000 万美元。正如Adrian 指出的,我们在产品开发方面非常活跃。过去几个月我亲自写的代码比平时多得多。(主要是实验性的东西,可能永远见不到天日,但这很有趣,有时我也会做些结果证明有用的东西。)我花了很多时间与媒体和分析师交谈;最近我们引起了巨大的媒体关注。媒体/分析师的电话可能令人疲惫,但也很有价值,因为很多人都很聪明,会提出发人深省的问题……

Spring 项目组合中的新版本

工程 | Adrian Colyer | 2007 年 5 月 25 日 | ...

去年底,我们开始讨论 Spring“发布列车”的概念。发布列车的想法是,我们将 Spring 项目组合中的产品进行协调发布:它们经过共同测试,并且能够协同工作。您仍然可以选择和组合您需要的组件,但在需要时,将更容易一起使用各种产品。我们还没有完全实现,但正在路上。

Interface21 面临的一个挑战是,对我们支持服务、培训和咨询的需求如此之高,以至于我们让所有人都全力以赴去满足这些需求。这使得我们很难获得构建像发布列车这样需要持续和可预测产品开发时间。这只是我对 Benchmark Capital 最近宣布向 Interface21 投资 1000 万美元感到兴奋的众多原因之一(新闻稿……

Spring Web Flow Java One 2007 演示

工程 | Keith Donald | 2007 年 5 月 18 日 | ...

当 Sun 将我在 JavaOne 2007 关于 Spring Web Flow 的演讲安排在周五,也就是会议的最后一天时,我不确定会是什么情况。我很高兴今年再次被接受,但我对会议最后一天演讲的出席人数感到好奇。

结果出乎我意料的好。我在周四演讲者设置处签到时,已有 800 人预注册了我的周五演讲。在我的演讲开始前十五分钟,房间里的人数就达到了这个数字。最终,有 1000 名 JavaOne 与会者来到了房间 307-310……

Spring 2.1 中的注解驱动依赖注入

工程 | Mark Fisher | 2007 年 5 月 14 日 | ...

Spring 2.0 引入了注解支持和注解感知的配置选项,Spring 用户在使用 Java 5(或更高版本)进行开发时可以利用这些功能

@Transactional 用于标记和配置事务定义
@Aspect (AspectJ) 用于定义切面以及 @Pointcut 定义和通知 (@Before, @After, @Around)
@Repository 用于指示一个类作为仓库(即数据访问对象或 DAO)运行
@Required 用于强制注解的 bean 属性必须提供值

在 Spring 2.1 中,这种注解驱动的配置主题得到了显著扩展,并且随着我们向 RC1 版本迈进,它将继续发展。事实上,现在可以通过注解来驱动 Spring 的依赖注入。此外,Spring 可以发现应用上下文需要配置的 bean。

本篇博文将作为这些基本功能的教程式介绍,分为 10 个简单易懂的步骤。本周晚些时候我将继续介绍一些更高级的功能和定制选项。如果您对其他配置选项感兴趣,您还应该查看 Spring Java Configuration 项目和这篇博文

本教程至少需要 Java 5,推荐使用 Java 6(否则在步骤 1 结束时有一个单独的要求)。

步骤 1

获取 spring-framework-2.1-m1-with-dependencies.zip。解压存档后,您将在 'dist' 目录中找到 spring.jar 和 spring-mock.jar。将它们添加到您的 CLASSPATH 中,以及以下文件(所示路径相对于解压的 2.1-m1 存档的 'lib' 目录)

  • asm/asm-2.2.3.jar
  • asm/asm-commons-2.2.3.jar
  • aspectj/aspectjweaver.jar
  • hsqldb/hsqldb.jar
  • jakarta-commons/commons-logging.jar
  • log4j/log4j-1.2.14.jar
(注意:如果您未在 Java 6 上运行,您还需要添加 j2ee/common-annotations.jar)

步骤 2

为示例提供接口和类。我尽量保持简单,同时能够演示主要功能。我将所有代码和配置包含在一个“博客”包中。我鼓励遵循相同的准则,以便示例能够按原样工作;否则,请务必进行必要的修改。首先,GreetingService 接口

public interface GreetingService {
    String greet(String name);
}

然后,一个简单的实现


public class GreetingServiceImpl implements GreetingService {
    private MessageRepository messageRepository;

    public void setMessageRepository(MessageRepository messageRepository) {
        this.messageRepository = messageRepository;
    }

    public String greet(String name) {
        Locale locale = Locale.getDefault();
        String message = messageRepository.getMessage(locale.getDisplayLanguage());
        return message + " " + name;
    }
}

由于服务依赖于 MessageRepository,请定义……

获取 Spring 新闻通讯

订阅 Spring 新闻通讯,保持联系

订阅

取得领先

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

了解更多

获取支持

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

了解更多

即将举办的活动

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

查看所有