`
heqing
  • 浏览: 22004 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
最近访客 更多访客>>
社区版块
存档分类
最新评论

The Flex,Spring,and BlazeDS full stack——Part 1

    博客分类:
  • Flex
阅读更多

Part 1:新建Flex模块

本系列文章共分三篇,我将一步步引导建立一个基于Flex/BlazeDS/Spring/Hibernate/Mysql架构的应用,此应用使用Maven构建。此应用示例完成增、删、改和任务列表。

 

在开始之前,有两点需要注意:

1、教程的范例应用并非现实生产环境应用,但这并不影响我们讨论的主题:Flex前端和

Spring后台交互。

 

2、教程将使用flex-mojos Maven plug-in 用来构建Flex应用程序。

 

准备条件:

有使用Flex Builder开发经验会很受用,但这不是必须的。另外了解BlazeDS对学习本教程也很有帮助。

 

项目范围

本系统教程的目标是建立一个基于Flex UI的待办事项应用,提供增、删、改和显示任务列表。图1显示了我们将实现的应用程序的全局架构:

 

 

 

示例项目的最大挑战来自配置Maven构建。项目也可以使用Ant来构建,但我不太喜欢编写Ant角本。至于使用IDE构建的项目将取决于某一特定的开发环境,这通常不是一个好主意,因为任何严肃的项目需要有一定程度的测试和持续集成。即使Maven并不完美,但我仍然认为这是最好的解决办法。

 

至于JBoss,并不硬性需要,完全可以使用Tomcat代之。

 

建立Maven主项目

首先,我们在使用Maven构建Flex/BlazeDS项目前必须确定正确的配置文件路径。Flex编译器和BlazeDS服务器都需要有描述了AMF ChannelsDestinationsAdapters XML配置文件。这些配置文件通常命名为remoting-config.xmlservices-config.xml。为了避免配置文件名称重复冲突,一个解决办法是把所有应用打包成一个单独的warMaven Module。但这同时会带来另外的问题:一个庞大的项目设置是不符合Maven标准的,并且混合了FlexJava在同一个模块并非最佳。基于此,我决定在root pom-packaged中分离客户端和服务端为两个模块。为避免配置文件重复,我将建立第三个共享模块。

 

就这样,我们现在开始吧。假定你已经安装了MavenJavaMySQLJBossTomcat

 

首先,建立root todolist module。使用default archetype创建一个空Maven项目。打开命令行,在你预想的目录下运行下面的命令:

mvn -DgroupId=org.epseelon.samples -DartifactId=todolist archetype:create

 

 

以上命令建立一个基本的JAR项目,我们要作进一步修改,步骤如下:

1、在刚建立的项目组构中删除src目录。

2、编辑pom.xmlpackaging,把jar替换成pom

3、增加如下repositoriesPOM中:

<project>
  …
  <repositories>
    <repository>
      <id>flex-mojos-repository</id>
      <url>http://flex-mojos.googlecode.com/svn/trunk/repository/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>epseelon-repository</id>
      <url>http://m2repo.epseelon.org/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>  
  <pluginRepositories>
    <pluginRepository>
      <id>flex-mojos-repository</id>
      <url>http://flex-mojos.googlecode.com/svn/trunk/repository/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
    <pluginRepository>
      <id>epseelon-repository</id>
      <url>http://m2repo.epseelon.org/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>
</project>

 

第一个repository包括flex-mojos,第二个repository包括BlazeDS libraries.

 

最佳做法是为插件指定一个明确的版本,尤其是因为我们会用到子模块maven-assembly-pluginmaven-dependency-plugin。增加如下build配置到pom.xml文件

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.0</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2-beta-2</version>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

 

现在我们已经更新了pom.xml文件,随后创建的部分涉及到的Flex模块。接下来我们来讲这部分。

 

创建Flex Module

创建Flex模块相对简单。有几个Maven Plug-ins可以处理基于Flex的项目,包括ServeBox and Israfil。然而,他们都不适合BlazeDS项目。还好,即时发现了Velo写的flex-mojos

 

现在来创建Flex模块,你需要打开一个命令行并将目录指向你期望的地方。然后,运行下面的命令:

mvn archetype:create -DarchetypeArtifactId=maven-archetype-flex -DarchetypeV

ersion=1.0 -DarchetypeGroupId=dk.jacobve.maven.archetypes -DgroupId=cn.org.pomer

.samples -DartifactId=todolist-ria -DpackageName=

 

这个archetype创建的Flex项目的根目录下创建上述模块,它使用默认的israfil-mojo。所以,一旦你建立了子项目,下一步就是以flex-mojos plug-in代替israfil plug-in配置,如下所示:

8
4
分享到:
评论
7 楼 jkfzero 2008-11-06  
heqing 写道

jkfzero 写道最近在看一个项目pomer,貌似技术挺接近的。呵呵,见笑了,Pomer正是在下和几个同事搞的一个开源项目。

我真尴尬……看到你的文章了。
6 楼 heqing 2008-10-09  
jkfzero 写道

最近在看一个项目pomer,貌似技术挺接近的。

呵呵,见笑了,Pomer正是在下和几个同事搞的一个开源项目。
5 楼 jkfzero 2008-10-08  
最近在看一个项目pomer,貌似技术挺接近的。
4 楼 jinyongzhang 2008-10-08  
《The Flex,Spring,and BlazeDS full stack》这篇文章非常的经典,我已经翻译完毕,请多多指教,希望多多交流
http://blog.csdn.net/ematrix001/archive/2008/10/08/3035497.aspx
3 楼 heqing 2008-10-08  
示例项目待下篇文章时会提供.
2 楼 dayang2001911 2008-10-08  
不错,要是有个能运行的小例子可以下载的就更好啦
1 楼 heqing 2008-10-08  
<plugin>
  <groupId>info.rvin.mojo</groupId>
  <artifactId>flex-compiler-mojo</artifactId>
  <version>1.0-beta3</version>
  <extensions>true</extensions>
  <configuration>
    <locales>
      <param>en_US</param>
    </locales>
  </configuration>
</plugin>

你也可以删除部分配置,因为flex-mojos使用自己的Flex编译器版本。最后但并非最不重要,添加下面的dependencies到POM中:
<dependencies>
  <dependency>
    <groupId>com.adobe.flex.sdk</groupId>
    <artifactId>playerglobal</artifactId>
    <version>3.0.0.3.0.0.477</version>
    <type>swc</type>
    <scope>external</scope>
  </dependency>
  <dependency>
    <groupId>com.adobe.flex.sdk</groupId>
    <artifactId>flex</artifactId>
    <version>3.0.0.3.0.0.477</version>
    <type>swc</type>
  </dependency>
  <dependency>
    <groupId>com.adobe.flex.sdk</groupId>
    <artifactId>framework</artifactId>
    <version>3.0.0.3.0.0.477</version>
    <type>swc</type>
  </dependency>
  <dependency>
    <groupId>com.adobe.flex.sdk</groupId>
    <artifactId>framework</artifactId>
    <version>3.0.0.3.0.0.477</version>
    <type>resource-bundle</type>
    <classifier>en_US</classifier>
  </dependency>
  <dependency>
    <groupId>com.adobe.flex.sdk</groupId>
    <artifactId>rpc</artifactId>
    <version>3.0.0.3.0.0.477</version>
    <type>swc</type>
  </dependency>
  <dependency>
    <groupId>com.adobe.flex.sdk</groupId>
    <artifactId>rpc</artifactId>
    <version>3.0.0.3.0.0.477</version>
    <type>resource-bundle</type>
    <classifier>en_US</classifier>
  </dependency>
  <dependency>
    <groupId>com.adobe.flex.sdk</groupId>
    <artifactId>utilities</artifactId>
    <version>3.0.0.3.0.0.477</version>
    <type>swc</type>
  </dependency>
</dependencies>

经过这些修改,在目录todolist上运行mvn install。如果一切正常,你将会看到Maven打出BUILD SUCCESSFUL。现在,你可以运行这个SWF:
todolist/todolist-ria/target/todolist-ria-1.0-SNAPSHOT.swf

在这部分,我们已设置了Flex编译器插件,并得到了一个简单的客户端Flex应用。在未来的两部分我将讲述服务器端的Spring和Hibernate开发。

相关推荐

    The Flex, Spring and BlazeDS full stack – Part 2

    包括Part1和Part2所讲内容maven项目构建块和Part2前半部分源码,下载后,在命令行进入todolist-web目录运行mvn eclipse:eclipse构建eclipse项目。 博文链接:https://heqing.iteye.com/blog/250529

    Flex Spring JAVA BLAZEDS整合

    【Flex Spring JAVA BLAZEDS整合】是一种技术实践,它将Adobe Flex的前端展示层与Spring框架的后端业务逻辑层紧密结合,利用BlazeDS作为中间件进行数据传输。Flex作为一个强大的RIA(富互联网应用程序)开发平台,常...

    Flex_Spring_BlazeDS完整整合包

    Flex Spring BlazeDS整个web工程,其中FlexServer是整合后的myeclipse web project工程,FlexText是Flex测试工程。在tomcat中运行测试无误。

    flex-spring-blazeds demo

    1. 配置BlazeDS以连接Flex和Spring应用,实现AMF通信。 2. 在Spring中定义服务接口和实现,利用依赖注入提供给Flex客户端。 3. 在Flex中创建用户界面,通过BlazeDS调用Spring服务。 4. 理解AMF数据传输的优势,以及...

    flex+spring+blazeds消息推送

    标题中的“flex+spring+blazeds消息推送”是指在开发富互联网应用程序(RIA)时,采用Adobe Flex作为前端UI框架,Spring作为后端服务层框架,BlazeDS作为数据通信中间件,实现服务器到客户端的消息实时推送功能。...

    spring+blazeDS+flex4 例子

    《Spring、BlazeDS与Flex4的整合应用详解》 在现代Web开发中,构建交互性强、用户体验良好的富互联网应用程序(Rich Internet Applications, RIA)是开发者追求的目标。Spring、BlazeDS和Flex4的结合,正是实现这一...

    flex-spring blazeds integration基本框架搭建记录

    《Flex-Spring BlazeDS 整合基础架构构建详解》 在现代Web开发中,富互联网应用程序(Rich Internet Applications,简称RIA)的需求日益增长,而Flex作为Adobe提供的RIA开发框架,因其强大的图形用户界面和与服务器...

    Flex blazeds-spring

    Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring Flex blazeds-spring

    Flex-Spring-JAVA-BLAZEDS.rar_Flex spring_flex_flex java

    标题中的“Flex-Spring-JAVA-BLAZEDS.rar”提到了三个关键技术:Flex、Spring和BlazeDS,这在IT行业中是关于前端与后端交互的重要技术组合。Flex是Adobe开发的一种用于创建富互联网应用(RIA)的开源框架,主要用于...

    Spring整合flex-Spring BlazeDS Integration-带项目demo

    Spring BlazeDS Integration是Spring框架的一个组件,它提供了与Adobe Flex的无缝集成,允许后端Java服务与前端Flex客户端进行通信。这个项目demo提供了实际操作的例子,帮助开发者理解和实现Spring与Flex的结合。 ...

    WEB项目-集成Flex3+BlazeDS3.2+Spring2.5.6集成方式二

    【集成Flex3+BlazeDS3.2+Spring2.5.6的另一种方式】\n\n在上一讲中,我们介绍了如何将Flex3、BlazeDS3.2和Spring2.5.6集成在一起,构建一个强大的WEB项目。本讲我们将探讨集成方式二,该方法采用Spring的侦听配置...

    flex+spring+blazeds在MyEclipse下非常详细的结合配置

    flex+spring+blazeds在MyEclipse下非常详细的结合配置

    flex+blazeds+spring

    标题“flex+blazeds+spring”表明我们要探讨的是如何将Flex前端与BlazeDS中继层和Spring后端框架结合起来,实现完整的数据交互和应用程序逻辑。 在Flex与Spring集成的环境中,Flex作为用户界面展示层,负责与用户...

    Flex4+Blazeds4.0+Spring3.0+hibernate2.5.2整合笔记

    Flex4+Blazeds4.0+Spring3.0+hibernate2.5.2整合笔记 本篇笔记主要介绍了如何将 Flex4、Blazeds4.0、Spring3.0 和 hibernate2.5.2 进行整合,实现一个完整的富互联网应用程序。下面是对笔记中关键部分的详细解释: ...

    Spring BlazeDS Integration Spring集成BlazeDS

    **Spring BlazeDS Integration** 是一个强大的技术组合,它允许开发者使用Spring框架在后端服务器上进行业务逻辑处理,同时利用Adobe Flex在前端构建富互联网应用程序(RIA)。BlazeDS是Adobe提供的一种开源服务器端...

    flex4+spring+blazeds整合技术

    《Flex4+Spring+BlazeDS整合技术详解》 在当今的Web开发中,富互联网应用程序(Rich Internet Applications,简称RIA)已经成为一种趋势,而Flex作为Adobe提供的RIA开发框架,结合Spring的优秀企业级服务管理和...

    spring blazeds 整合实例(源码)

    1. **配置Spring**:需要在Spring配置文件中定义`MessageBroker` bean,以启用BlazeDS服务。 2. **定义服务代理**:在Flex客户端,创建服务代理类来调用后台的Java服务。 3. **消息传递**:利用BlazeDS的AMF通道,...

    Flex Spring框架成BlazeDS

    Flex Spring框架与BlazeDS的整合是Web开发中一个重要的技术组合,主要用于构建富互联网应用程序(Rich Internet Applications,RIA)。Flex作为Adobe推出的基于Flash Player或Adobe AIR运行时的客户端开发框架,提供...

    flex+Spring+Hibernate+Cairngorm+BlazeDS+Spring BlazeDS Integration整合框架

    使用flex 4.5 + Spring 3.0 + Hibernate 3.3 + Cairngorm 2.2.1 + BlazeDS 3.3.0 + Spring BlazeDS Integration 1.0.3整合出的一个登录的小demo·

Global site tag (gtag.js) - Google Analytics