Ronnie 猫's 一亩三分地

关注前端技术,一直走在追随前端的路上…For Long Time

【转】Flex4系列教程之六 – 整合Flex,BlazeDS,Spring(< 2.5.6)

本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。
1. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + Cairngorm
2. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + Cairngorm
3. Flex + BlazeDS + Spring(< 2.5.6) + iBATIS + pureMVC
4. Flex + BlazeDS + Spring BlazeDS Integration + Spring(>= 2.5.6) + iBATIS + pureMVC

为什么 BlazeDS 与 Spring 的整合分为 Spring 2.5.6 版本之前和之后?
目前 BlazeDS 与 Spring 整合的最好方式是利用开源项目 Spring BlazeDS Integration(由 SpringSource 开发),但 Spring BlazeDS Integration 要求 Spring 至少 2.5.6,所以 Spring 2.5.6 之前需用其他整合方式。

注意事项:
以下内容基于“Flex4系列教程之五”中创建的 sampleApp 项目。

第一步:用 Spring 管理 Bean

  1. 下载 spring-framework-2.0.8.zip,解压拷贝 spring.jar 到 sampleApp 项目的 WEB-INF/lib 下
  2. 在 web.xml 内追加下面代码
    <listener>
      <listener-class>
        org.springframework.web.context.ContextLoaderListener
      </listener-class>
    </listener>
  3. 在 WEB-INF 下创建 applicationContext.xml 文件
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
    "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
    <beans>
    
    </beans>
  4. 把 EmployeeService 委托 Spring 管理:追加下面代码到 applicationContext.xml 文件的 beans 标签下
    <bean id="employeeService"/>

第二步:使 Flex 通过 Spring 访问 EmployeeService 的实例

  1. 下载 blazeds-spring.jar,同样拷贝到 WEB-INF/lib 下
  2. 在 services-config.xml 内追加下面代码
    <factories>
     <factory id="spring"/>
    </factories>
  3. 更改 remoting-config.xml 内容:
    把以下内容

    <destination id="employeeServiceDest">
      <properties>
        <source>com.sample.EmployeeService</source>
      </properties>
    </destination>

    改为

    <destination id="employeeServiceDest">
      <properties>
       <factory>spring</factory>
       <source>employeeService</source>
      </properties>
    </destination>

第三步:重新运行项目
一切正常吧  ,此时我们已完成与 Spring 框架的整合。

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google+ photo

You are commenting using your Google+ account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s