将 Flex 与 Spring 框架集成

  • Moxie Zhang
  • 张龙

2008 年 5 月 24 日

话题:Java语言 & 开发

随着富 Internet 应用(RIA)技术的不断成熟,将类似于 Adobe Flex 这样的 RIA 应用与健壮的服务器端技术进行集成就变得越来越重要了。Java 开发者最喜欢的服务器端框架之一Spring将在这个过程中扮演着重要的角色。

RIAvolutionize the Web的 Marco Casario 解释到他为何建议 BlazeDS 成为 Spring 与 Flex 结合的企业系统时说道:“Spring 是一个开源框架,可以让开发人员开发起来 更加轻松。如果使用标准的 JEE 方式,你需要编写大量无用或者冗余的代码,还可能花费大量时间去实现 J2EE 的设计模式,而这些模式仅仅是为了应对技术上 的限制而不是真正的解决方案。Spring 可以通过简化这些过程而节省大量时间。”

Christophe Coenraets解释了 Flex 与 Spring 集成的基本原理:

Spring 的控制反转(Inversion of Control, 即 IoC)的主要思想就是让容器实例化组件(并且注入其依赖)。但是在默认情况下,由 Flex 客户端远程访问的组件是在服务器端由 Flex 目的文件实例化 的。所以 Flex 与 Spring 集成的关键在于配置 Flex 目的文件以使其能够让 Spring 容器来管理实例化的 Spring beans。Flex 数据服务支持工厂的概念以便可以实例化这类客户化组件。工厂的作用仅仅在于向 Flex 目的文件提供准备好的组件实例,而不是让 Flex 目的文件自己去实例化这些组件。

关于 Flex 与 Spring、IBATISCairngorm的集成,Chris Giametta说道:

我相信可以创建一个一致的、模块化的、可重用的架构。这个架构既可以支持小型应用,也可以支持非常健壮 的企业级应用。项目成功的一个关键要素在于创建这样一个架构:新人能迅速投入进去,并且很快就能上手。我觉得将 Flex 与 Spring、iBATIS 和 Cairngorm 集成可以帮助我迅速构建出一个基于模式的、可重用的架构。 

Sébastien Arbogast在不遗余力地发表一系列博文,以阐述如何构建全栈式 Flex、BlazeDS 和 Spring 集成解决方案。

Arbogast 的这个全栈式集成,从下到上包括如下内容:JBoss 作为应用服务器、MySQL 作为数据存储、Hibernate完成数据访问、Spring 用来构建业务层、BlazeDS作为远程服务、Flexe-genial 用来构建富客户端。该系统使用Mavenflex-compiler-mojo 插件进行构建。

Arbogast 说:“这个项目的建立当然需要一些工作,但是——除去配置文件复制上的一些小问题外(而且这很快会得到改善)——它真的很干净,而且 flex-compiler-mojo 也非常棒。”

查看英文原文:Integrate Flex with Spring Framework

Java语言 & 开发