本文主要学习Flex跟spring如何集成。参考文档是 Spring BlazeDS Integration Reference Guide。spring已经提供了与flex的集成的支持,主要的jar包下载地址:http://www.springsource.com/download/community?project=Spring%20BlazeDS%20Integration
flex与spring集成的核心思想就是让spring来管理 MessageBroker。如何集成?可以总结为三步。
1、首先,修改 web.xml文件,将之前配置的 MessageBrokerServlet 去掉改成spring的,
<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/config/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>
2,新建文件 web-application-config.xml
<?xml version="1.0" encoding="GB2312" ?>
<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-2.5.xsd
http://www.springframework.org/schema/flex
http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">
<!-- Bootstraps and exposes the BlazeDS MessageBroker simplest form -->
<flex:message-broker id="_messageBroker"
services-config-path="/WEB-INF/flex/services-config.xml">
<flex:mapping pattern="/messagebroker/*" />
<flex:exception-translator ref="myExceptionTranslator" />
</flex:message-broker>
<!--
上面配置是一种简单配置,另外一种更简单配置为:
<flex:message-broker/>
还有一种配置为:
<bean id="mySpringManagedMessageBroker"
class="org.springframework.flex.core.MessageBrokerFactoryBean">
<property name="servicesConfigPath"
value="classpath*:flex/services-config.xml" />
</bean>
-->
<!-- Maps request paths at /* to the BlazeDS MessageBroker -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/*=_messageBroker
</value>
</property>
</bean>
<!-- 下面这个Adapter似乎不用配置,因为我注释后照样可以使用 -->
<!--
Dispatches requests mapped to a MessageBroker <bean
class="org.springframework.flex.servlet.MessageBrokerHandlerAdapter"
/>
-->
</beans>
3,写remoting-config.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service"
class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object"
class="flex.messaging.services.remoting.adapters.JavaAdapter"
default="true"/>
</adapters>
<default-channels>
<channel ref="my-amf"/>
</default-channels>
</service>
到目前为止,flex已经跟spring集成到一起了。
4、将spring的bean导出为flex的Destination。我们要在web-application-config.xml文件中增加。
有三种方式:
第一种:
<bean id="productService" class="flex.samples.product.ProductServiceImpl" />
<flex:remoting-destination ref="productService" />
第二种:
<bean id="productService" class="flex.samples.product.ProductServiceImpl" >
<flex:remoting-destination />
</bean>
第三种:
<bean id="product" class="org.springframework.flex.remoting.RemotingDestinationExporter">
<property name="messageBroker" ref="_messageBroker"/>
<property name="service" ref="productService"/>
<property name="serviceId" value="productService"/>
<property name="includeMethods" value="read, update"/>
<property name="excludeMethods" value="create, delete"/>
<property name="channels" value="my-amf, my-secure-amf"/>
</bean>
附件是一个例子工程,没有提供jar,工程中所需要的jar
backport-util-concurrent.jar
cfgatewayadapter.jar
cglib-nodep-2.1_3.jar
commons-codec-1.3.jar
commons-httpclient-3.0.1.jar
commons-logging.jar
concurrent.jar
flex-messaging-common.jar
flex-messaging-core.jar
flex-messaging-opt.jar
flex-messaging-proxy.jar
flex-messaging-remoting.jar
jackson-lgpl-0.9.5.jar
org.springframework.flex-1.0.0.RC1.jar
spring2.5.6.jar
spring-webmvc.jar
xalan.jar
分享到:
相关推荐
本教程是作者精心编写的Flex学习资料,适合初学者入门,通过图文并茂的方式,帮助读者快速掌握Flex的基本概念和核心技能。 1. **Flex基础**:Flex提供了MXML和ActionScript两种编程方式。MXML是一种声明式语言,...
Flex3学习指南是一份专为初学者设计的资源,旨在帮助他们掌握Adobe Flex 3这一强大的富互联网应用程序(RIA)开发框架。Flex 3在Web应用开发领域具有广泛的影响力,尤其在创建交互式、图形丰富的用户界面方面表现...
Flex 3.0 学习指南是一份专为想要深入理解和掌握Adobe Flex 3.0技术的初学者或开发者设计的教程。Flex是基于ActionScript 3.0和Flash Player的开源框架,用于构建富互联网应用程序(RIA)。这份指南旨在帮助你从零...
5. **_states_ 和 _transitions_**:Flex4中新增的状态管理机制,使得组件在不同状态间切换更加平滑,可以定义过渡效果(transitions)来实现动态视觉效果。 6. **Graphical Asset Creation**:包括位图、矢量图...
本压缩包文件包含了一系列Flex学习的相关资料,帮助初学者和进阶者深入理解Flex技术。 1. **Flex基础概念** - **ActionScript**:Flex的主要编程语言,是一种基于ECMAScript的脚本语言,用于实现动态效果和控制...
4. **数据绑定**:Flex中的数据绑定是其强大特性之一,它允许UI组件的状态与应用程序数据自动同步。这大大简化了代码,提高了开发效率。 5. **事件驱动编程**:Flex应用程序是基于事件驱动的,用户操作或其他系统...
本资料“Flex学习PPT_wildh”显然是一个针对初学者的教程,旨在帮助用户快速入门Flex编程。下面我们将深入探讨Flex的基本概念、核心组件、开发环境以及其在RIA开发中的应用。 1. **Flex概述**:Flex是一种基于XML的...
《FLEX学习笔记》 FLEX,全称为Flex Builder,是由Adobe公司开发的一款基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有交互性、响应性和丰富用户体验的Web应用。FLEX的...
这个名为"flex帮助文档--(flex学习文档)"的压缩包文件包含了关于Flex的详细学习资料,尤其是针对初学者或者希望深入理解Flex的开发者。 1. **Flex的基本概念** Flex是一个基于MXML和ActionScript的开源框架,...
Adobe Flex 是一个开源框架,主要用于构建富...从MXML和ActionScript的基础到事件处理的深入理解,都是Flex学习者必须掌握的关键技能。通过不断实践和学习,开发者可以利用Flex开发出高效、美观且互动性强的应用程序。
5. **皮肤和样式**:Flex 4支持更高级的皮肤和样式系统,使得UI定制更加灵活。资料可能包括如何创建自定义皮肤,以及应用和管理全局样式的指导。 6. **数据绑定和数据服务**:Flex 4提供强大的数据绑定机制,简化了...
在本篇“Flex学习之六”中,我们将深入探讨Adobe Flex这一开源框架,它主要用于构建富互联网应用程序(RIA)。Flex提供了强大的组件库和基于MXML与ActionScript的开发环境,使得开发者可以创建交互性强、用户体验...
标题中的“flex学习小记录”表明这是一份关于Adobe Flex技术的学习笔记或教程。Flex是一种开源框架,主要用于构建富互联网应用程序(RIA),特别是在Flash Player和Adobe AIR上运行的应用。它基于ActionScript语言,...
5. **Flex Builder**:Adobe Flex Builder是集成开发环境(IDE),为Flex开发提供了图形化界面和高级调试功能,极大地提高了开发效率。 6. **组件体系结构**:Flex包含一组丰富的预定义组件,如按钮、文本框、列表...
**FLEX学习资料详解** FLEX,全称为Adobe Flex,是一种用于构建富互联网应用程序(RIA)的开源框架,主要用于创建跨平台的用户界面。它基于ActionScript编程语言和MXML标记语言,允许开发者构建功能丰富的交互式Web...
标题中的“Flex学习资料(续)”表明这是一个关于Adobe Flex技术的进阶学习资源,Flex是一种用于构建富互联网应用程序(RIA)的框架,基于ActionScript和MXML。它允许开发者创建交互性强、功能丰富的Web应用。 描述...
这个“flex学习例子”压缩包包含了作者在学习Flex过程中的实践项目,旨在帮助其他学习者通过实例来理解Flex的用法和功能。 1. Flex基础:Flex是一个开放源代码的开发框架,主要用于创建交互式、高性能的Web应用程序...
《Flex弹性布局学习总结.docx》可能是作者对Flex布局学习过程的全面总结,包括基础概念、主要属性、使用场景和实际应用案例。文档可能涵盖了以下关键知识点: 1. **基础概念**:Flex容器(flex container)和Flex...
### Flex学习之配置篇——如何在Eclipse中开发Flex #### 一、Flex的安装与配置 ##### 1. 安装方式 Flex 的安装有两种主要的方式:直接安装 FlexBuilder 或是在 MyEclipse 下安装 FlexBuilder 插件。推荐后者,...