`
Kevin_Shen
  • 浏览: 16243 次
社区版块
存档分类
最新评论

flex和spring的連接

    博客分类:
  • Flex
阅读更多

 Flex的的對象傳輸方式可謂簡單又方便,spring和flex又是如何連接,srping用到的jar包大致如下:org.springframework.beans, org.springframework.context,和org.springframework.web ,flex是blazeds.war。

springFactory.java文件:

 

package com.iteye.factories;

import flex.messaging.FactoryInstance;
import flex.messaging.FlexContext;
import flex.messaging.FlexFactory;
import flex.messaging.config.ConfigMap;
import flex.messaging.services.ServiceException;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

@SuppressWarnings("unused")
public class SpringFactory implements FlexFactory {

	private static final String SOURCE = "source";

	public void initialize(String identifier, ConfigMap configMap) {
	}

	public FactoryInstance createFactoryInstance(String identifier,
			ConfigMap properties) {
		SpringFactoryInstance instance = new SpringFactoryInstance(this,
				identifier, properties);
		instance.setSource(properties.getPropertyAsString("source", instance
				.getId()));
		return instance;
	}

	public Object lookup(FactoryInstance instance) {
		return ((SpringFactoryInstance) instance).lookup();
	}

	static class SpringFactoryInstance extends FactoryInstance {
		private static final String SERVER_PROCESSING = "Server.Processing";

		SpringFactoryInstance(SpringFactory factory, String identifier,
				ConfigMap properties) {
			super(factory, identifier, properties);
		}

		public String toString() {
			return "SpringFactory instance for id=" + getId() + " source="
					+ getSource() + " scope=" + getScope();
		}

		public Object lookup() {
			ServiceException exception;
			String msg;
			ApplicationContext appContext = WebApplicationContextUtils
					.getWebApplicationContext(FlexContext.getServletConfig()
							.getServletContext());

			String beanName = getSource();
			try {
				return appContext.getBean(beanName);
			} catch (NoSuchBeanDefinitionException nexc) {
				exception = new ServiceException();
				msg = "Spring service named '" + beanName + "' does not exist.";
				exception.setMessage(msg);
				exception.setRootCause(nexc);
				exception.setDetails(msg);
				exception.setCode("Server.Processing");
				throw exception;
			} catch (BeansException bexc) {
				exception = new ServiceException();
				msg = "Unable to create Spring service named '" + beanName
						+ "' ";
				exception.setMessage(msg);
				exception.setRootCause(bexc);
				exception.setDetails(msg);
				exception.setCode("Server.Processing");
				throw exception;
			}
		}
	}
}

 

 

web.xml配置:

 

 

   <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/config/applicationContext.xml</param-value>
    </context-param>

<listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>


 <listener>                                                        
         <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
    </listener>


  <servlet>
        <servlet-name>MessageBrokerServlet</servlet-name>
        <display-name>MessageBrokerServlet</display-name>
        <servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
        <init-param>
            <param-name>services.configuration.file</param-name>
            <param-value>/WEB-INF/flex/services-config.xml</param-value>
       </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

 

 

applicationContext.xml測試配置:

 

	<bean id="testDAO" class="com.iteye.testDAO">
		<property name="sessionFactory" ref="mySessionFactory" />
	</bean>

 

 flex下services-config.xml配置:

 

<factories>
        <factory id="spring" class="com.pega.factories.SpringFactory"/>
    </factories>

 

 

對象傳輸方式用到的remoting-config.xml配置:

 

<destination id="test">
        <properties>
            <factory>spring</factory>         
            <source>testDAO</source>
        </properties>
    </destination>

 然後寫好這個test類,在mxml代碼中調用remoteObject組件調用這個類了。

 

分享到:
评论

相关推荐

    flex与spring连接java后台示例

    Flex和Spring是两种在开发富互联网应用程序(RIA)和企业级应用时常用的技术。Flex是Adobe公司推出的一种基于ActionScript的开源框架,主要用于构建交互性强、用户体验良好的前端UI。而Spring则是Java领域的一个轻量...

    上一篇的flex的远程对象调用,flex和spring集成分页的jar和截图

    描述中提到的“flex和spring集成分页”是指将Flex客户端与Spring框架结合,实现服务器端数据的分页展示。Spring是一个广泛使用的Java企业级应用开发框架,提供IoC(Inversion of Control)容器、数据访问、事务管理...

    Flex4 spring整合实例

    3. **设置BlazeDS配置**:在Tomcat或其他应用服务器的Web-INF下创建flex-config.xml文件,配置BlazeDS连接到Spring服务的通道。 4. **数据序列化与反序列化**:AMF是一种高效的二进制格式,用于在Flex和Spring之间...

    flex+Spring+Hibernate整合配置详解

    Flex+Spring+Hibernate 整合是企业级应用开发中常见的一种技术栈组合,它结合了Flex前端的富互联网应用程序(RIA)开发能力、Spring框架的依赖注入和事务管理功能,以及Hibernate持久化框架的数据库操作便捷性。...

    FLEX和spring、hibernate的集成

    在FLEX与Spring的集成中,我们需要一个桥梁来连接Flex客户端和Spring服务端。这通常通过创建一个自定义的`FlexFactory`实现,例如`SpringFactory`,它继承自`flex.messaging.FlexFactory`。`SpringFactory`的职责是...

    Using Flex with Spring

    1. **配置Flex-Spring Bridge**:Flex-Spring Bridge是连接Flex客户端和Spring服务器端的关键组件,它允许Flex应用直接调用Spring管理的bean。我们需要在项目中引入flex-spring-sdk,这是一个专门用于Flex和Spring...

    flex4.6 + spring(注解方式)

    2. **Spring-BlazeDS Integration**:BlazeDS是Adobe提供的一个免费的服务器端组件,用于在Flex和Spring之间建立连接。Spring的`spring-flex`模块提供了与BlazeDS集成的工具。 3. **Spring 注解配置**:在Spring ...

    hibernate+flex+spring 整合,hibernate+flex+spring 集成

    在IT行业中,整合Hibernate、Flex和Spring框架是一个常见的任务,以构建高效、用户交互性强的Web应用程序。这个组合允许开发者利用Hibernate的ORM能力处理数据库操作,Flex的富互联网应用程序(RIA)界面,以及...

    FLEX_Spring环境搭建

    在IT行业中,FLEX和Spring都是重要的技术框架。FLEX是一种用于构建富互联网应用程序(RIA)的客户端技术,而Spring是Java平台上的一个开源框架,主要用于企业级应用开发。将两者结合,可以实现灵活且功能强大的前后...

    Pro Flex on Spring

    3. **扩展性和灵活性**:Spring框架的设计思想强调了可扩展性和灵活性,这种设计思想也体现在了Spring与Flex的集成过程中。开发者可以根据项目需求自由选择使用哪些组件和技术。 #### 四、Pro Flex on Spring的关键...

    flex-spring-blazeds demo

    1. 配置BlazeDS以连接Flex和Spring应用,实现AMF通信。 2. 在Spring中定义服务接口和实现,利用依赖注入提供给Flex客户端。 3. 在Flex中创建用户界面,通过BlazeDS调用Spring服务。 4. 理解AMF数据传输的优势,以及...

    Flex与Spring java联合开发

    Flex与Spring Java联合开发是一种常见的跨平台应用架构,它结合了Adobe ...这种开发模式允许开发者专注于各自领域的专长,Flex负责呈现用户界面,而Spring则专注于业务逻辑和数据管理,两者通过BlazeDS进行无缝连接。

    Flex、Spring整合:blazeds

    Flex和Spring的整合是Web开发中的一个重要话题,它允许开发者在客户端使用Flex构建富互联网应用程序(RIA),同时在服务器端利用Spring框架的强大功能进行业务逻辑处理和数据管理。这篇文章将详细探讨这一集成过程,...

    flex远程对象调用,flex和spring的集成,分页

    在源码层面,集成Flex和Spring可能涉及到创建Spring服务bean、配置Remoting Destination以连接到这些服务,以及在Flex客户端定义对应的RemoteObject来调用这些服务。对于分页,可能需要实现服务器端的分页查询方法,...

    Spring 整合 Flex 包

    5. **MessageBroker**: Spring Flex 使用 BlazeDS 的 MessageBroker 组件来处理 Flex 客户端的请求,通过定义消息通道(channels)和消息目的地(destinations),可以轻松地配置 Flex 与 Spring 服务的连接。...

    flex与spring的集成工程源码

    "FlexSpring" 文件夹可能包含了Spring服务端的源代码,包括Spring配置文件(如applicationContext.xml),定义了Bean的实例化、依赖注入以及服务接口和实现。此外,还有可能包含Java控制器类,它们是Spring MVC的一...

    Flex+Spring+Hibernate 环境

    4. 集成Hibernate:在Spring项目中引入Hibernate库,配置Hibernate的实体类、映射文件和数据源,建立与数据库的连接。 5. 实现服务接口:定义Spring服务接口,实现业务逻辑。这些接口会被Flex客户端调用,通过HTTP...

    flex+hibernate+Spring

    Flex、Hibernate 和 Spring 是三个在IT行业中非常重要的技术框架,它们分别在用户界面、持久化层和应用架构方面发挥着关键作用。让我们深入探讨一下这三个技术的整合以及如何实现它们的详细配置。 Flex 是 Adobe ...

    flex+spring+hibernate

    然后,使用Spring配置数据访问和业务逻辑,BlazeDS将Flex前端与Spring后端连接起来,实现实时数据交互。 总结来说,搭建Flex+Spring+Hibernate+BlazeDS环境需要对Java EE、Flex和Spring有基本了解。通过BlazeDS,...

Global site tag (gtag.js) - Google Analytics