Flex4系列教程之七 – 整合Flex,BlazeDS,Spring(>= 2.5.6)
来源:互联网 发布:c语言添加音乐等代码 编辑:程序博客网 时间:2024/05/01 22:47
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
Spring BlazeDS Integration 是什么?
Spring BlazeDS Integration 是 SpringSource 的开源项目,用于整合 Spring 与 BlazeDS。
为什么需要 Spring BlazeDS Integration?
正如“Flex4系列教程之六”介绍的:不使用 Spring BlazeDS Integration 同样可以整合 Spring 与 BlazeDS。但这种整合方式不自然,需要额外维护一个 BlazeDS 配置文件,Spring BlazeDS Integration 会改善这种处境。
Spring BlazeDS Integration 需要的软件环境:
- Java 5 或更高
- Spring 2.5.6 或更高
- BlazeDS 3.2 或更高
Spring BlazeDS Integration 特征
- MessageBroker(BlazeDS 的核心组件)被配置为 Spring 管理的 Bean
- Flex 客户端发出的 HTTP 消息通过 Spring 的 DispatcherServlet 路由给 MessageBroker
- Remote objects 以 Spring 的方式配置在 Spring 配置文件内
注意事项:
以下内容基于“Flex4 系列教程之五”中创建的 sampleApp 项目。
在继续本教程之前你需要准备好以下事项:
- 下载 Spring Framework(截稿时最新版 spring-framework 3.0.2),解压备用
- 下载 Spring Framework dependencies(截稿时最新版 spring-framework 3.0.2 dependencies),解压备用
- 下载 Spring BlazeDS Integration(截稿时最新版 spring-flex 1.0.3),解压备用
第一步:准备所需 jar 包
将以下 3 部分 jar 包拷贝到 sampleApp 项目的 lib 下
- Spring Framework
org.springframework.aop-3.0.2.RELEASE.jar
org.springframework.asm-3.0.2.RELEASE.jar
org.springframework.beans-3.0.2.RELEASE.jar
org.springframework.context-3.0.2.RELEASE.jar
org.springframework.core-3.0.2.RELEASE.jar
org.springframework.expression-3.0.2.RELEASE.jar
org.springframework.web.servlet-3.0.2.RELEASE.jar
org.springframework.web-3.0.2.RELEASE.jar - Spring Framework dependencies
org.aopalliance 内的 com.springsource.org.aopalliance-1.0.0.jar
edu.emory.mathcs.backport 内的 com.springsource.edu.emory.mathcs.backport-3.0.0.jar
net.sourceforge.cglib 内的 com.springsource.net.sf.cglib-2.2.0.jar
[注:]Spring 3 的依赖包用Ivy 或 Maven 管理会很方便,完成本系列教程后我会单独整理这部分。暂且手动拷贝吧 - Spring BlazeDS Integration
org.springframework.flex-1.0.3.RELEASE.jar
第二步:修改 web.xml 文件
将 web.xml 内所有 Flex 相关配置删除掉,添加以下内容(改用 Spring web 应用的前端控制器处理所有应用请求)
<servlet> <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/web-application-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup></servlet><servlet-mapping> <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> <url-pattern>/messagebroker/*</url-pattern></servlet-mapping>
第三步:配置 web-application-config.xml
- 创建应用上下文配置文件 web-application-config.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"></beans>
- 为了使用 Spring BlazeDS Integration 的 tag,增加命名空间
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:flex="http://www.springframework.org/schema/flex"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/flex
http://www.springframework.org/schema/flex/spring-flex-1.0.xsd"></beans> - 为了把请求路由给 MessageBroker,添加以下 tag
<flex:message-broker />
- 定义 Bean,并用 remoting-destination tag 把它暴露给 Flex
<bean id="employeeServiceDest" class="com.sample.EmployeeService"> <flex:remoting-destination /></bean>
第四步:删除多余的 Flex 配置文件
删除 services-config.xml 以外的所有 Flex 配置文件(你认为它们还有必要保留吗? )。但千万别忘记在 services-config.xml 内重新定义默认 channel(原来定义在 remoting-config.xml 内):
修改 services-config.xml,替换
<services> <service-include file-path="remoting-config.xml" /> <service-include file-path="proxy-config.xml" /> <service-include file-path="messaging-config.xml" /></services>
为
<services> <default-channels> <channel ref="my-amf"/> </default-channels></services>
第五步:重新运行 sampleApp 项目
运行结果与整合之前相同吧
附件: sampleApp-7.7z
- Flex4系列教程之七 – 整合Flex,BlazeDS,Spring(>= 2.5.6)
- Flex4系列教程之七 – 整合Flex,BlazeDS,Spring(>= 2.5.6)
- Flex4系列教程之六 – 整合Flex,BlazeDS,Spring(< 2.5.6)
- Flex4系列教程之六 – 整合Flex,BlazeDS,Spring(< 2.5.6)
- Flex4系列教程之三 – 中间件BlazeDS
- Flex4系列教程之三 – 中间件BlazeDS
- Flex4系列教程之三 – 中间件BlazeDS
- Flex之旅--Flex+BlazeDS+Spring整合
- Flex4系列教程之十一 – 整合PureMVC(剧终)
- Flex4系列教程之十一 – 整合PureMVC(剧终)
- Flex4+BlazeDS+Spring+Hibernate 整合
- java+flex4+blazeDS整合图文教程
- Flex4系列教程之八 – 整合iBATIS 2.3
- Flex4系列教程之十 – 整合Cairngorm2
- Flex4系列教程之十一 – 整合PureMVC
- Flex4系列教程之八 – 整合iBATIS 2.3
- Flex4系列教程之十 – 整合Cairngorm2
- Flex4+BlazeDS+Spring+Hibernate 整合(附源码)
- Flex4系列教程之六 – 整合Flex,BlazeDS,Spring(< 2.5.6)
- 基于linux-2.6.35的网络视频服务器移植
- 指针函数&函数指针
- Answer to Chapter 4 of O'Reilly Learning Sql on SQL Server 2005
- 2010-11-29
- Flex4系列教程之七 – 整合Flex,BlazeDS,Spring(>= 2.5.6)
- ubuntu 编译android2.2源码配置环境及jdk5(1)
- 关于C#操作INI文件的总结
- ubuntu 编译android2.2源码配置环境及jdk5(2)
- USACO算法系列十三(续)
- Flex4系列教程之八 – 整合iBATIS 2.3
- python 写的通讯录
- expect 详解
- ubuntu 编译android2.2源码配置环境及jdk5(3)