`
black.angel
  • 浏览: 34748 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

FLEX和Spring的集成

    博客分类:
  • Flex
阅读更多

 

remoting-config.xml:
<destination id="TestSpring">
        <properties>
            <factory>spring</factory>
            <source>springTest</source> <!--此处注入IOC注入-->
        </properties>
    </destination>

==============================================================
services-config.xml:
    <factories>
      <factory id="spring" class="flex.samples.factories.SpringFactory" />
    </factories>
==============================================================
web.xml: 和struts整合spring一样
    <context-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

============================================================

applicationContext.xml

 

 <bean id="springTest" class="flex.samples.SpringTest">
  <property name="description">
   <value>Hello Flex To Spring</value>
  </property>
 </bean>

 


SpringFactory.java文件

package flex.samples.factories;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;

import flex.messaging.FactoryInstance;
import flex.messaging.FlexFactory;
import flex.messaging.config.ConfigMap;
import flex.messaging.services.ServiceException;


public class SpringFactory implements FlexFactory
{
    private static final String SOURCE = "source";

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

    public FactoryInstance createFactoryInstance(String id, ConfigMap properties)
    {
        SpringFactoryInstance instance = new SpringFactoryInstance(this, id, properties);
        instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId()));
        return instance;
    }
    public Object lookup(FactoryInstance inst)
    {
        SpringFactoryInstance factoryInstance = (SpringFactoryInstance) inst;
        return factoryInstance.lookup();
    }


    static class SpringFactoryInstance extends FactoryInstance
    {
        SpringFactoryInstance(SpringFactory factory, String id, ConfigMap properties)
        {
            super(factory, id, properties);
        }


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

        public Object lookup()
        {
            ApplicationContext appContext =WebApplicationContextUtils.getWebApplicationContext(flex.messaging.FlexContext.getServletConfig().getServletContext());
            String beanName = getSource();

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

=============================================
SpringTest.java

package flex.samples;

public class SpringTest {

 private String description;

 public String getDescription() {
  return "This description from String. [" + description + "]";
 }

 public void setDescription(String description) {
  this.description = description;
 }
}

Flex.mxml:

<mx:RemoteObject id="myspring" destination="TestSpring" />
<mx:Button x="25" y="80" label="Call Spring" width="100" click="myspring.getDescription();" />
<mx:Label x="25" y="100" width="334" text="{myspring.getDescription.lastResult}"/>

//注意颜色对应关系

分享到:
评论

相关推荐

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

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

    Using Flex with Spring

    我们需要在项目中引入flex-spring-sdk,这是一个专门用于Flex和Spring集成的库,包含了必要的类和接口。 2. **创建Spring服务**:在Spring环境中定义你需要的服务bean,并配置其相关属性。这些服务bean将成为Flex...

    Flex_Spring集成

    flex与spring集成详解

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

    Spring还包含了对数据库访问的支持,如JDBC抽象层和集成ORM框架,如Hibernate。此外,Spring的MVC框架可以方便地将前端视图、业务逻辑和数据访问层分离,有助于实现松耦合和模块化设计。 4. **整合过程**: - **...

    flex blazeds spring集成

    Flex Blazeds Spring集成是将Adobe的Flex前端技术与Spring框架后端服务相结合的一种开发模式。这个DEMO展示了如何在Flex客户端应用中利用Spring框架来管理和服务通信,从而实现更高效、灵活的分布式应用程序。 Flex...

    flex与spring集成

    博文链接:https://xiaotian-ls.iteye.com/blog/229194

    Pro Flex on Spring

    这些示例涵盖了从简单的数据绑定到复杂的业务流程,让读者逐步掌握Flex与Spring集成的技巧。 总的来说,《Pro Flex on Spring》是一本实用的指南,适合有一定Java和Flex基础的开发者,想要提升RIA开发能力的人群。...

    flex+spring flex整合

    Spring BlazeDS Integration则是Adobe和Spring社区合作的成果,它简化了Flex与Spring的集成,减少了配置的复杂性。 在Web应用的配置中,需要在`web.xml`中注册Spring的DispatcherServlet,它负责处理请求并转发给...

    flex与spring的集成工程源码

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

    Pro Flex On Spring

    此外,随着云计算和微服务架构的兴起,Flex和Spring的集成也可能需要适应这些趋势。例如,如何将Spring应用容器化和在云环境中部署,以及如何将单体应用拆分为微服务。 总结来说,"Pro Flex On Spring"这本书为我们...

    FlexSpring jar包

    在本文中,我们将深入探讨Flex和Spring框架的基本概念,FlexSpring集成的优势,以及如何在项目中使用FlexSpring JAR包。 首先,Flex是一种用于构建富互联网应用程序(RIA)的开源开发框架,基于ActionScript和MXML...

    整合flex和spring常遇到的问题

    在进行Flex与Spring集成的过程中,经常会遇到配置上的问题。例如,在配置文件`services-config.xml`中设置URI时,可能会遇到以下情况: **问题描述:** 在`services-config.xml`中设置URI为: ```xml ...

    FLEX和spring、hibernate的集成.rar

    - **Flex与Spring集成**:Flex与Spring之间的通信通常通过HTTPService或WebService组件完成,这些组件可以调用Spring的远程服务接口(如基于HTTP的RESTful服务或基于SOAP的Web服务)。Spring-BlazeDS Integration...

    FLEX和spring、hibernate的集成

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

    Flex 与 Spring整合

    3. **AMF集成**:AMF是一种二进制格式,用于在Flex和服务器之间传输数据,相比HTTPService的XML或JSON格式,它具有更高的性能和更低的带宽消耗。BlazeDS是Adobe提供的一个开源项目,它提供了AMF支持,使得Flex与...

    Flex-Spring拦截器

    当我们在Flex-Spring集成中使用拦截器时,我们需要配置Spring的`HandlerInterceptor`或`WebBindingInitializer`接口,这些拦截器会在请求被处理前或处理后执行特定的代码。例如,我们可以通过以下步骤设置拦截器: ...

    flex整合spring需要的spring相关包

    在IT行业中,Flex和Spring是两个非常重要的技术框架。Flex是一种用于构建富互联网应用程序(RIA)的客户端技术,而Spring则是Java平台上的一个开源框架,主要用于企业级后端应用开发。将Flex与Spring进行整合,可以...

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

    通过与Spring集成,可以在服务器端利用Spring的数据访问和事务管理能力,高效地处理分页查询。 在源码层面,集成Flex和Spring可能涉及到创建Spring服务bean、配置Remoting Destination以连接到这些服务,以及在Flex...

    flex+spring 工程

    Spring框架还包含了对数据库操作的支持,如JDBC抽象层、ORM集成(如Hibernate和MyBatis),以及用于Web开发的Spring MVC,能够与Flex这样的前端技术无缝配合。 在"SSP"工程中,我们可以推测以下几个关键知识点: 1...

Global site tag (gtag.js) - Google Analytics