spring整合flex

Spring与Flex整合实战:构建高效Web应用 Spring 是一个开源的 Java/Java EE 全功能栈应用程序框架,广泛应用于企业级应用开发中。其核心特征是支持依赖注入和面向切面编程,提供了一个简化企业级应用开发的轻量级解决方案。Spring 框架不仅涵盖了业务逻辑层、数据访问层和表现层,还提供了对事务管理、安全性、消息传递等企业服务的支持。Flex是Adobe公司开发的一款RIA(Rich Internet Applications)开发框架。 阅读详情

在常规的开发中只是用flex二不和后台交互是不可能的,为此flex也提供了和后台交互的2种解决方案一种是Data Services另一种是BlazeDs,本篇博客是用的是后一种,我的开发步骤如下:

1.下载BlazeDs的war包,下载war包需要注册,下载地址如下:

https://www.adobe.com/cfusion/entitlement/index.cfm?e=lc_blazeds

2.解压或者部署war包,把WEB-INF下面的flex文件夹复制到项目的WEB-INF下面,把lib里面的所有jar包和目标项目合并

3.下载spring整合flex的jar包,下载地址是:

http://www.springsource.org/spring-flex/

下载好后把dist下面的jar包复制到项目的lib下面

4.编写处理后台数据的代码,java类也交给spring来处理,下面是我的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-2.5.xsd">
	
      <bean id="flexPlanService" class="org.lxh.module.plan.flex.FlexPlanManagerImpl">  
       <property name="planManager" ref="planManager"/>
     </bean>
</beans>

5.编写spring和flex交互的主要配置文件,文件名称见名知义就行,配置大致如下

<?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-2.5.xsd
		http://www.springframework.org/schema/flex
		http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">
	
   	<bean id="_messageBroker" class="org.springframework.flex.core.MessageBrokerFactoryBean" >
   		<property name="servicesConfigPath" value="WEB-INF/flex/services-config.xml"/>
   	</bean>    
	
	<!--spring mvc配置,所有请求都由_messageBroker处理-->  
	<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">  
	    <property name="mappings">  
	      <value>/*=_messageBroker</value>  
	    </property>  
	</bean>  
	<bean class="org.springframework.flex.servlet.MessageBrokerHandlerAdapter"/>  
	
	<!-- destination-id是目标ID 这个名称在mxml页面上会被用到-->
	 <flex:remoting-destination ref="flexPlanService" destination-id="flexPlanService"/>
	
	
</beans>

最后一行的ref熟悉就不介绍了,一般学过spring的都知道怎么用

6.在web.xml加入springmvc配置把上面的交互文件交给spring管理,配置如下

<!-- SpringMVC配置 -->
	<servlet>  
        <servlet-name>SpringDispatcher</servlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
        <init-param>  
            <param-name>contextConfigLocation</param-name>  
            <param-value>classpath:applicationContext-flex.xml</param-value>  
        </init-param>  
        <load-on-startup>1</load-on-startup>  
    </servlet>
    <servlet-mapping>   
     <servlet-name>SpringDispatcher</servlet-name>   
     <url-pattern>/messagebroker/*</url-pattern>   
    </servlet-mapping> 

7.给项目添加flex支持

(1)鼠标右击项目,找到Add Flex  project  type,如下所示

(2)在出现的窗口选择下一步,如下所示

(3)点击“下一步”进入下一个配置界面

需要注意的是Root folder,这里选择项目的根目录即可,选好后要注意点击“validate configuration”按钮验证配置,验证成功后,点击finish之后可能会报错,在problems里找到error,右键点击选择重建html-template即可

(4)这一步是可选的,一般我们把flex的main source folder换成别的


(5)这一步也是可选的,我们一般把webcontent或者webroot作为flex的输出目录

改动之后也是需要验证的,验证成功即可

8.编写flex页面,我这里只是简单的用表格显示出所有的部门信息,页面代码如下

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="300" minHeight="300" initialize="init()">
	<fx:Declarations>
		<!-- 这里的的destination对应spring配置文件里的destination-id-->
		<s:RemoteObject id="planServiceRO" destination="flexPlanService" endpoint="/myssm/messagebroker/amf">
			<!-- name对应的是bean里的接口方法    result配置的actionscript类似回调函数-->
			<s:method name="getAllPlan" result="getAllPlansSuccess(event)"/>
		</s:RemoteObject> 
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			
			import com.adobe.serialization.json.JSON
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			import mx.core.FlexGlobals;
			import mx.events.FlexEvent;
			import mx.events.ListEvent;
			import mx.managers.PopUpManager;
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;
			private function init():void{
				
				planServiceRO.getAllPlan();
		
			}
			//把数据绑定到表格里,数据类型使用的是json,此处需要一个叫as3corelib.swc的类库文件 ,把它放在libs目录里即可
			private function getAllPlansSuccess(event:ResultEvent):void{
				var planData:ArrayCollection=new ArrayCollection(com.adobe.serialization.json.JSON.decode(event.result.toString()));
				planDataGrid.dataProvider=planData;
			}
		]]>
	</fx:Script>
	<mx:DataGrid id="planDataGrid" x="500" y="200" width="300" height="300"
				 allowMultipleSelection="true" alternatingItemColors="[0xe3eaf2,0xe8f1f8]">
		<mx:columns>
			<!-- dataField属性配置的是json的key -->
			<mx:DataGridColumn dataField="fid" headerText="部门ID" showDataTips="true"/>
			<mx:DataGridColumn dataField="fname" headerText="部门名称" showDataTips="true"/>
			
		</mx:columns>
	</mx:DataGrid>
</s:Application>

下面我把自己的业务实现类代码贴出来,这个方法拼接了json字符串

package org.lxh.module.plan.flex;

import java.util.*;

import org.lxh.module.plan.dao.PlanManager;
import org.lxh.module.plan.info.PlanInfo;

public class FlexPlanManagerImpl implements FlexPlanManager {
	private PlanManager planManager;
	public PlanManager getPlanManager() {
		return planManager;
	}
	public void setPlanManager(PlanManager planManager) {
		this.planManager = planManager;
	}
	public String getAllPlan() {
		List<Map> json=new ArrayList<Map>();
		List<PlanInfo> all=planManager.getAllPlan();
		Iterator<PlanInfo> it=all.iterator();
		while(it.hasNext()){
			PlanInfo p=it.next();
			Map<String,Object> map=new HashMap<String,Object>();
			map.put("\"fid\"", "\""+p.getFID()+"\"");
			map.put("\"fname\"", "\""+p.getFNAME()+"\"");
			json.add(map);
		}
		return json.toString().replaceAll("=", ":");
	}
}

只有学懂了spring要整合spring是不是很简单呢,来看下我的效果图

下面再把我的ibatis配置文件贴出来给大家看看

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
<mapper namespace="PlanInfo"> 
    <resultMap id="resultMap" type="org.lxh.module.plan.info.PlanInfo">
	<result property="fID" column="fID"/>
	<result property="fNAME" column="fNAME"/>
   </resultMap>
   <select id="getAllPlan" parameterType="org.lxh.module.plan.info.PlanInfo" resultMap="resultMap"> 
		select * from m_depart
	</select>
</mapper> 

下面是我oracle里的数据表





SpringFlex框架搭建 NULL 博文链接:https://lusam06.iteye.com/blog/1559098 立即下载

相关推荐

blazeds下载,java和flex的通信工具

flex 与 java 的连接通信工具,已解压。包含blazeds的war文件和其解压的文件夹。

SpringFlex框架搭建 之 二、配置使用SpringFlex

二、配置使用SpringFlex 2.1SpringFlex的基本配置         Spring与BlazeDS结合必须使用MessageBroker,Flex客户端的HTTP请求将有Spring的DispatcherServlet分发到Spring管理的MessageBroker。使用Spring管理MessageBroker就无需配置BlazeDS MessageBrokerServl...

黎明你好的技术博客 416

Spring 整合 Flex 包

Spring 整合 Flex 包Spring 整合 Flex 包Spring 整合 Flex 包

spring和BlazeDS 集成配置后台

转自:http://www.blogjava.net/wangxinsh55/archive/2011/02/25/345123.html 假期一直在研究spring和BlazeDS的配置问题,下面这个和我门现在工作中用到的配置及其相似... 本文主要学习Flex跟spring如何集成。参考文档是 Spring BlazeDS Integration Reference Guide。spri

L-BAKE 835

blazeds 服务器war包

blazeds.war blazeds

【Cadence】PSS+PSTB/PAC仿真在开关电源稳定性分析中的关键应用

本文深入探讨了Cadence仿真工具中PSS+PSTB/PAC方法在开关电源稳定性分析中的关键应用。针对开关电源作为时变非线性系统的特性,传统STB仿真方法会失效。文章详细阐述了如何通过PSS分析找到周期稳态,并在此基础上利用PSTB或PAC进行精确的环路增益和小信号频响分析,为电源设计提供可靠的稳定性评估与补偿网络设计依据。

weixin_29276847的博客 528

flex + spring 整合

早上同事做flex + spring 整合,按照网上的一篇文章进行操作,期间出现2个问题,记录如下: 1. 按照网上的操作,java代码里无法显示 flex相关的注解, 这个问题的原因是缺少 spring-flex 相关的jar包 。 2. 第二个问题是所谓的“沙箱安全冲突”,这个问题的解决办法是 在网上找一个 XXdomainXX的xml文件,放到tomcat webapps

yangsen251024的专栏 975

CAB单片机开发指南

CAB单片机开发使用指南,IDE安装及烧录注意事项

Zoebuxiangtian的博客 1558

springMVC与flex 整合

由于最近新做的项目里有用到flex做图形展示,而

xiaohua914的专栏 3596

汽车氛围灯 PCBA 方案开发:从技术底层解析车载光效的核心逻辑

摘要: 车载氛围灯PCBA方案开发需兼顾性能与车规要求。主控芯片选型应关注运算能力、温度适应性和低功耗(如NXPS32K344、复旦微FM33FG065A)。电路防护需采用TVS二极管等组合设计,满足ISO7637-2浪涌防护标准。通信协议分层应用(CAN+LIN),调光需解决色准与温漂问题,动态灯效通过FIFO队列实现。开发中需进行温度循环、振动、EMC等可靠性测试,细节处理(如三防涂覆)至关重要。该领域开发需熟悉车规标准并积累实车经验。

2401_87454052的博客 1132

su03t语音模块烧录识别不出问题解决方法

su03t语音sdk烧录无法识别问题

weixin_49387645的博客 6390

Flex Spring整合包

内容如下<br /> 关于Adobe Flex关于Spring为什么使用Flex和SpringFlex和Spring的整合<br />关于Flex<br />Adobe Flex是一套创建富客户端应用(RIAs)的框架.Flex生成的swf文件可以直接运行在Flash Player之中。相比较基于时间轴的Flash开发,Flex框架更适合那些用传统方式开发应用程序的开发人员。Flex应用可以使用Flex builder来开发。这套IDE是基于Eclipse平台开发的。Action Script3语言是

552

Flink项目基础配置指南

在大数据处理领域,Apache Flink凭借强大的实时流处理和批处理能力,成为众多开发者的首选工具。在日常工作中,开发Flink Jar任务是常见需求,但每次都需重复配置日志、梳理pom依赖、设置打包插件等,流程繁琐且易出错。为提升开发效率,减少重复劳动,将这些基础配置进行整理归纳十分必要。本文将围绕Flink项目的本地日志配置、pom依赖及插件配置展开详细介绍,为开发者提供一套可直接复用的基础配置方案,助力Flink项目高效开发。在Flink项目中,日志是了解任务运行状态、排查问题的重要依据。本地日志配

qq_42773076的博客 1210

Flex之旅--Flex+BlazeDS+Spring整合

Flex与服务器通讯有3中方式:HTTPService 组件访问HTTP服务,WebService 组件访问WebService服务,RemoteObject 组件访问Server端对象。第三种方法是最常用最灵活的方法,这种方式通过AMF二进制形式传递数据,需要支持AMF协议的中间件,与java通讯时使用BlazeDS(免费开源)中间件。         新建项目         新建Flex

狼牙 1533

lammps不同晶面建模方法汇总

Lammps lattice命令中的orient关键词可实现晶体的旋转和重定向,下面的命令中,111面的法线方向与y正方向重合,说明111面垂直于y轴。在有些模拟中,需要研究特定面的性质,比如研究110面,默认状态下,110面不是坐标平面,研究起来不方便,需要对模型进行旋转,如下图所示。经过旋转后,110面的法线方向与x轴正方向重合,旋转之后再重新对晶体进行切割,新模型的x面就是110面。需要注意的是,这种方法需要明确指定x、y、z轴的正方向分别对应哪三个面的法线方向,缺一不可。大家好,我是小马老师。

lammps_jiayou的博客 357

电子元件及其规格书的查找与理解

本内容收录:在电子开发或维修过程中,查找电子元件及其规格书心得体会,以及元件规格书的理解,系个人多年实战经验的系统梳理。内容着重介绍贴片元件代码反查型号的实用技巧,并以三款典型疑难元件为例,详述其完整查找过程与最终型号确认。

让你爱上电路设计 3993

flex spring ,flex 整合 spring , flex + spring

flex整合spring也有很多的例子,其实有很多例子很复杂。我在这就给大家介绍个最简单的,很实用。说明下:flex完全可以代替struts,下面的例子能证明。有人会问了,和其他框架怎么样整合。spring都能整合了,其他框架你要不会整合我也都无语了。不多说了,看代码就知道简单不!flex--sdk 3.2以上jdk 1.5 以上spring 2.5.6 以 负责Java通

li184132481的专栏 4023

nvidia系列教程-AGX-Orin系统刷机及备份

NVIDIA AGX Orin 是一款高性能的嵌入式计算平台,专为边缘计算和 AI 应用而设计。为了确保系统的稳定性和适应不同的应用场景,用户可能需要对 AGX Orin 进行系统刷机和备份操作。本文将详细介绍如何完成这些操作,帮助您更好地管理和维护 AGX Orin 设备。通过以上步骤,您可以成功地为 NVIDIA AGX Orin 刷写系统并创建备份。这些操作不仅能帮助您保持系统的更新和安全,还能在遇到问题时快速恢复系统。

flypig has a dream! 3328

Flex Spring整合

转自:http://www.iteye.com/topic/392836 内容如下   关于Adobe Flex关于Spring为什么使用Flex和SpringFlex和Spring的整合 关于Flex Adobe Flex是一套创建富客户端应用(RIAs)的框架.Flex生成的swf文件可以直接运行在Flash Player之中。相比较基于时间轴的Flash开发

九天之凤 553

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

整合 Adobe Flex 和 Spring

       随着 Adobe Flex 技术的成熟,越来越多的企业开始采用 Adobe Flex 技术开发 RIA (Rich Internet Application)。在常见的 RIA 应用程序架构中,客户端用 Adobe Flex 渲染出漂亮的界面,而渲染界面所需要的数据则从服务器端的应用程序获取。在 Java EE 领域,服务器端的应用程序通常是运行在 Java EE 应用服务器

Chinajash的专栏 3393

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

如何进行Flex Spring整合

<br />本文和大家重点讨论一下Flex Spring整合,相比较基于时间轴的Flash开发,Flex框架更适合那些用传统方式开发应用程序的开发人员,而Spring是目前最受欢迎的创建企业级应用的Java框架。不像传统的J2EE开发,Spring提供了轻量级的容器。<br />Flex Spring整合<br />关于Flex<br />AdobeFlex是一套创建富客户端应用(RIAs)的框架.Flex生成的swf文件可以直接运行在FlashPlayer之中。相比较基于时间轴的Flash开发,Flex框

ystyaoshengting的专栏 939

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Flex Spring JAVA BLAZEDS整合

原文地址:http://www.javaeye.com/topic/392836关于FlexAdobe Flex是一套创建富客户端应用(RIAs)的框架.Flex生成的swf文件可以直接运行在Flash Player之中。相比较基于时间轴的Flash开发,Flex框架更适合那些用传统方式开发应用程序的开发人员。Flex应用可以使用Flex builder来开发。这套IDE是基于Eclips

浮白 2823

Flex和Spring的整合

Flex和Spring的整合 2011年01月12日   关于Flex Adobe Flex是一套创建富客户端应用(RIAs)的框架.Flex生成的swf文件可以直接运行在Flash Player之中。相比较基于时间轴的Flash开发,Flex框架更适合那些用传统方式开发应用程序的开发人员。Flex应用可以使用Flex builder来开发。这套IDE是基于Eclipse平台开发的。Ac...

wybc65wybc 128

flex整合blazeds,spring,hibernate应用

一.假设你已经flex整合了blazeds,若有疑问可以参考我前面的一篇文章http://blog.youkuaiyun.com/yangjiehuan/archive/2009/04/20/4094161.aspx二.完成flex和spring的配置工作    首先,建立spring最重要的文件applicationContext.xml放到web-inf 下面,代码如下 <b

yangjiehuan的专栏 2298
上一篇: 2个比较常用的时间工具类
下一篇: ActionScript使用正则表达式
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值