随着富 Internet 应用( RIA )技术的不断成熟,将类似于 Adobe Flex 这样的 RIA 应用与健壮的服务器端技术进行集成就变得越来越重要了。 Java 开发者最喜欢的服务器端框架之一 Spring 将在这个过程中扮演着重要的角色。
Spring 的控制反转( Inversion of Control , 即 IoC )的主要思想就是让容器实例化组件(并且注入其依赖)。但是在默认情况下,由 Flex 客户端远程访问的组件是在服务器端由 Flex 目的文件实例化的。所以 Flex 与 Spring 集成的关键在于配置 Flex 目的文件以使其能够让 Spring 容器来管理实例化的 Spring beans 。 Flex 数据服务支持工厂的概念以便可以实例化这类客户化组件。工厂的作用仅仅在于向 Flex 目的文件提供准备好的组件实例,而不是让 Flex 目的文件自己去实例化这些组件。
Sébastien Arbogast 在不遗余力地发表一系列博文,以阐述如何构建全栈式 Flex 、 BlazeDS 和 Spring 集成解决方案。 Arbogast 的这个全栈式集成,从下到上包括如下内容: JBoss 作为应用服务器、 MySQL 作为数据存储、 Hibernate 完成数据访问、 Spring 用来构建业务层、 BlazeDS 作为远程服务、 Flex 用来构建富客户端。该系统使用 Maven 及 flex-compiler-mojo插件 进行构建。 [1]
我翻译的中文文档下载地址:
http://download.csdn.net/source/672504
本文档就是 Arbogast 发布在 Adobe Developer Connection 上一系列文章的中文翻译版本。我使用了先直译后意译的方法,尽量做到语言流畅、通俗而易懂;修补了英文原文的 3 处疏漏 ,添加了 2 张运行效果图,希望能帮助你理解。当然,翻译不恰之处,敬请指正。
以下是英文原文链接:
第一部分: http://www.adobe.com/devnet/flex/articles/fullstack_pt1.html
第二部分: http://www.adobe.com/devnet/flex/articles/fullstack_pt2.html
第三部分: http://www.adobe.com/devnet/flex/articles/fullstack_pt3.html
[1] 以上文字摘引自 http://www.infoq.com/cn/news/2008/05/integrate-flex-spring