Flex系列--2--整合Flex,BlazeDS,Spring(< 2.5.6)

 

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

注意事项:

  1. 以下内容基于“构建Flex4为前端的Java EE项目”中创建的 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" class="com.sample.EmployeeService"/>

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

  1. 下载 blazeds-spring.jar,同样拷贝到 WEB-INF/lib 下
  2. 在 services-config.xml 内追加下面代码
    <factories>
     <factory id="spring" class="flex.messaging.service.SpringFactory"/>
    </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 框架的整合。

你可能感兴趣的:(blazeds)