
本系列教程目标:使初学者了解富网络应用概念,理解并掌握以下四种架构方法。 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
- 下载 spring-framework-2.0.8.zip,解压拷贝 spring.jar 到 sampleApp 项目的 WEB-INF/lib 下
- 在 web.xml 内追加下面代码
<listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener>
- 在 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>
- 把 EmployeeService 委托 Spring 管理:追加下面代码到 applicationContext.xml 文件的 beans 标签下
<bean id="employeeService" class="com.sample.EmployeeService"/>
第二步:使 Flex 通过 Spring 访问 EmployeeService 的实例
- 下载 blazeds-spring.jar,同样拷贝到 WEB-INF/lib 下
- 在 services-config.xml 内追加下面代码
<factories> <factory id="spring" class="flex.messaging.service.SpringFactory"/> </factories>
- 更改 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 框架的整合。
附件: sampleApp-6.7z
[声明:]
本文用到的 flex_spring.jar 出于 Adobe 的开发者中心,感谢原作者的付出。查看源码请下载原始文件 blazeds-spring.zip。