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

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配置,如下所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值